易截截图软件、单文件、免安装、纯绿色、仅160KB

ISA防火墙客户端和SQLSERVER客户端的问题

有外来程序安装基于.NET FRAMEWORK 3.5的应用程序在内网的PC上,需要通过ISA防火墙客户端经过服务器上的ISA2006 SP1访问外网的SQLSERVER2005数据库。
        按照以往经验,需要配置一条SQLSERVER2005服务器所在的IP地址的出站规则,并且并不需要设置一条基于域名的规则。
        该应用程序通过域名访问目标数据库一切正常。
        但我在同一台机器上用SQLSERVER 2005 MANAGEMENT STUDIO同样用域名访问目标数据库则失败了:超时时间已到。在操作完成之前超时时间已过或服务器未响应。于是我用IP地址访问目标数据库,则成功了。
        查看ISA服务器的日志,多了几条记录,典型的一条就是0x80074e21 FWX_E_ABORTIVE_SHUTDOWN。
        为了找到原因我开始用VS2008自己写程序测试:
        sqlConn = new SqlConnection(@"Data Source=IP地址;Initial Catalog=***;User ID=***;Password=***");
        成功!
        sqlConn = new SqlConnection(@"Data Source=域名;Initial Catalog=***;User ID=***;Password=***");
         还是失败!
        我非常困惑,为什么外来的程序用域名访问能够成功呢。
        于是打开控制面板中的数据源 (ODBC),建立一个SQLSERVER的连接,这个时候发觉用IP地址也不能成功,奇怪中看了下客户端配置去掉了动态决定端口,指定的端口为1433,于是用IP连接,成功了。接着用域名测试也成功了。联想到在整个测试过成中询问过其他人用PB做的程序是能成功访问远程数据库的,于是恍然大悟,成功与不成功原因在与SQLSERVER的驱动上面,成功的都是使用SQLOLEDB的驱动的。
   
      于是在C#中写到:
      OleDbConnection cnn = null;
   string cnnstr="Provider=SQLOLEDB.1;Initial Catalog=***;Data Source=域名,1433;User ID=***; Password=***";
       cnn = new


相关文档:

SqlServer存储过程分页

--TOP n 实现的通用分页存储过程(转自邹建)
CREATE PROC sp_PageView
@tbname sysname, --要分页显示的表名
@FieldKey nvarchar(1000), --用于定位记录的主键(惟一键)字段,可以是逗号分隔的多个字段
@PageCurrent int=1, --要显示的页码
@PageSize int=10, - ......

Sqlserver 取汉字的第一个字母,方便模糊查询

 create function comm_getpy
(
    @str nvarchar(4000)
)
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
    set @word=left(@str,1)
    --如果非汉字字符,返回原字符
& ......

SQLServer数据集合的交、并、差集运算

SQLServer2005通过intersect,union,except和三个关键字对应交、并、差三种集合运算。
他们的对应关系可以参考下面图示
       相关测试实例如下:
use tempdb
go
if (object_id ('t1' ) is not null ) drop table t1
if (object_id ('t2' ) is not null ) drop table t2
go
cre ......

pymssql访问sqlserver的一个bug


  对数据库进行多表操作,如果表与表之间存在依赖,那么显式的使用事务,可以保持对数据库操作的原子性。用Python访问SqlServer数据库,我使用pymssql库。今天在使用这个库的时候,发现一个问题。
问题大概是这样的:
  我有两张表,一张主表(ClassInfo),一张从表(Student),Student表通过外键ClassID与ClassI ......

sqlserver字符串拆分(split)方法汇总

sqlserver字符串拆分(split)方法汇总
--方法0:动态SQL法
declare @s varchar(100),@sql varchar(1000)
set @s='1,2,3,4,5,6,7,8,9,10'
set @sql='select col='''+ replace(@s,',',''' union all select ''')+''''
PRINT @sql
exec (@sql)
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号