标签:
杂谈 |
分类: 数据库 |
最近升级sqlserver2000到2005却发现asp不能连接sql2005
搜了很久搞定了
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=SQLNCLI.1;Data
Source="&connServerName&";Initial
Catalog="&connDatabase&";User
ID="&connUserName&";Password="&connPassword&";"
conn.Open connstr
把SQLOLEDB修改为SQLNCI.1就ok了
而且在微软支持页找到OLE DB 错误:OLE DB 或 ODBC 错误 官方解释
错误消息 1
系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的更多信息,请参阅 SQL Server 联机丛书中的“外围应用配置器”。; 42000.
错误消息 2
发生这种问题是因为,SQL Server 2005 只提供对一组特定访问接口的进程内访问。SQLNCLI 是 SQL
Server 2005 的一个新的本机 OLE DB 访问接口,它具有访问权。但是,SQLNCLI.1 是特定于版本的 SQLNCLI
访问接口,它不在访问接口的列表中。因此,SQLNCLI.1 没有访问权。尽管 SQLNCLI 和 SQLNCLI.1 完全相同(因为
SQLNCLI 指向 SQLNCI.1),但 SQL Server 2005 并不能识别出它们是相同的。SQL Server 2005
会阻止对 SQLNCLI.1 的访问。
要解决此问题,请使用下列方法之一:
• | 在 OLE DB 连接字符串中使用 SQLNCLI 代替 SQLNCLI.1。 |
• |
在 SQL Server 中,将 SQLNCL.1 显式添加到具有进程内访问权的供应商列表中。 摘自对 SQL Server 2005 自述文件的更改(http://support.microsoft.com/kb/907284/zh-cn?spid=2855) |