日期:2014-05-18  浏览次数:20466 次

WIN2003 64位系统,访问SQLSERVER连接字符串问题
以前用32位系统,通过字符串
Application( "connstr ")   =   "driver={sql   server};server=.;UID=sa;PWD=;database=pubs "
访问正常,
现在用这个64位系统(IBM服务器),用上面的字符串访问提示
“未指定提供程序,也没有指派的默认提供程序”

到网上找了一些资料,发现把字符串改为
Application( "connstr ")   =   "Provider=sqloledb;Data   Source=.;server=.;UID=sa;PWD=;database=pubs "
发现可以使用,但里面的一些存储过程等访问提示有错误(比较多)。

现在想问一下,能不能不更改字符串,还是使用以前的驱动方式连接driver={sql   server},不想修改程序内部的SQL代码,让WIN2003   64位系统可以正常使用的。

目前在系统数据源ODBC里面的用户DSN和系统DSN都增加SQLSERVER支持,没作用。

求助各位了,答者有分

------解决方案--------------------
不行的 存储过程等都要改过来
------解决方案--------------------
你试试这句连接字符串行不!不行我就不知道了

 @"server=/sqlexpress;UID=sa;PWD=;database=pubs " 

------解决方案--------------------
driver={sql server};server=.;UID=sa;PWD=;database=pubs 
为odbc的连接串,
ado如果未指定提供者,默认为oledb for odbc
用以下字符串试一试
Provider=MSDASQL;Persist Security Info=False;Extended Properties="driver={sql server};server=.;UID=sa;PWD=;database=pubs" 

如果不行,上微软下载最新的mdac2.8安装试试.