Sql server 使用SQLOLEDB从经典ASP连接到本地SQL Server Express 2008实例

Sql server 使用SQLOLEDB从经典ASP连接到本地SQL Server Express 2008实例,sql-server,asp-classic,oledb,Sql Server,Asp Classic,Oledb,我正在尝试设置一个开发测试服务器,即带有IIS和SQLServer2008Express的Windows2008Server。IIS和经典ASP(是的,支持仿古项目)运行良好,包括通过SQLOLEDB连接到远程SQLServer2008服务器 但是,我无法连接到本地SQL Server 2008 Express实例。它作为实例安装(即,PC-NAME\SQLEXPRESS),并启用用户/pwd授权。我可以成功设置ODBC条目,因此服务器工作正常。问题在于让IIS-ASP-SQLOLEDB查看服务

我正在尝试设置一个开发测试服务器,即带有IIS和SQLServer2008Express的Windows2008Server。IIS和经典ASP(是的,支持仿古项目)运行良好,包括通过SQLOLEDB连接到远程SQLServer2008服务器

但是,我无法连接到本地SQL Server 2008 Express实例。它作为实例安装(即,
PC-NAME\SQLEXPRESS
),并启用用户/pwd授权。我可以成功设置ODBC条目,因此服务器工作正常。问题在于让IIS-ASP-SQLOLEDB查看服务器并连接到服务器

在任何远程SQL Server 2008服务器上工作的简单连接字符串在我的本地express服务器上失败:

Provider=SQLOLEDB;Data Source=.\SQLEXPRESS;User ID=userName;Password=_pwd_;Database=DbName
我得到的错误是

SQL Server不存在或访问被拒绝


服务器错误日志不包含任何不成功登录尝试的跟踪,因此我假设在解析数据源时出现问题(因为实例名称?),或者服务器无法从IIS进程访问(协议、安全设置?)。

在SQL server 2008 express edition中,它在动态端口上运行。解决方案是只需转到TCP/IP的属性,并在TCP端口中提供希望SQL Server侦听的任何端口

strConn = "Provider=SQLOLEDB; Network Library=DBMSSOCN; Data Source=.\SQLEXPRESS;     Connection Timeout=15;Packet Size=4096; Initial Catalog=DbName; User ID=userName; Password=_pwd_;"

您可以发布如何通过ASP访问连接对象吗?

这可能会在Inetpub/wwwroot/uraspapp中有所帮助,您是否向网络服务授予了权限?在Sql management Studio中,您可以使用用户名和密码登录Sql server吗?可能您应该在连接字符串(Data Source=PC-name\SQLEXPRESS;)演示中包含数据库的全名。b:我不确定应该在哪里授予网络服务权限。但是,此应用程序连接到远程SQL 2008服务器(完整,非express)时没有问题。是的,我可以使用user/pwd登录SSMS。哦,上帝,在新的一年里给我更多的智慧!我被最愚蠢的错误绊倒了,我没有逃脱反斜杠。所以我决定羞辱自己,回到这里来报案,这样我就再也不会这样做了。也许有一天,某个可怜的小伙子会发现这篇文章,并意识到他也做了同样的事情。休息的眼睛更有效,做得很好。谢谢你的IP地址修复技巧,它将来会派上用场的。然而,正如你从我最初的帖子中看到的,我被最愚蠢的错误所困扰。该死