从传统ASP连接到SQL Server 2008的命名实例

Oce*_*010 4 sql asp-classic sql-server-2008

我的ASP应用程序连接到安装SQL Server 2000的网络服务器没有问题.有效的旧代码:

myConn.Open ("Driver={SQL Server};
              Server=myNetwrkServer;
              Database=myDB;
              UID=myID;PWD=myPWD;Trusted_Connection=NO;")
Run Code Online (Sandbox Code Playgroud)

SQL Server 2008的实例安装在同一网络服务器上.新代码不起作用:

myConn.Open ("Driver={SQL Server Native Client 10.0};
                      Server=myNetwrkServer\SQLServ2008;
                      Database=myDB;
                      UID=myID;PWD=myPWD;Trusted_Connection="NO";)
Run Code Online (Sandbox Code Playgroud)

请帮忙!

Rem*_*anu 10

命名实例需要启用并启动SQL Server Browser Service.如果未在您的myNetwrkServer计算机上启动此服务,则从网络连接将失败,因为它们无法将实例名称解析为实际侦听端口.

第二个问题是您将驱动程序更改为{SQL Server Native Client 10.0}.这要求您在ASP计算机上安装SQL Server 2008本机驱动程序.没有理由更改驱动程序,您应该将驱动程序保留为旧驱动程序{SQL Server},让OleDB为您解析低级连接驱动程序.通过不仅指定本机驱动程序,甚至指定版本号,您将指示低级别连接堆栈,即使它可以工作,它也会在您升级到SQL Server 2008 R2时中断.只需将其留在通用{SQL Server},让司机经理弄清楚细节.

最后,您需要确保在新服务器上定义了登录名/密码.

作为一般规则,"新代码不起作用"绝不是您应该提出的帮助请求.总是把它怎么做不起作用.你得到例外或错误吗?什么异常,什么消息?试图帮助你不一定是一部神秘的小说.


Eto*_* B. 8

您在行尾附近有不匹配的引号.

应该是这样的

myConn.Open ("Driver={SQL Server Native Client 10.0};
                      Server=myNetwrkServer\SQLServ2008;
                      Database=myDB;
                      UID=myID;PWD=myPWD;Trusted_Connection=NO;")
Run Code Online (Sandbox Code Playgroud)