我在新服务器上安装了MS SQL Server Express实例。我有一个Web应用程序,其中包含一些用VBScript编写的旧ASP.NET代码,使用另一个工作正常的数据库(SQL Server)。
每次尝试连接都会产生同样的错误:
Microsoft OLE DB Provider for SQL Server错误'80004005' [DBNETLIB] [ConnectionOpen(Connect())。] SQL Server不存在或访问被拒绝。
代码是:
Set udb = Server.CreateObject("ADODB.Connection")
'SQLEXPRESS ENVIRONMENT
udb.Open("Provider=SQLOLEDB; Data Source=SEHAN5134AS1\SQLEXPRESS,1433; Initial Catalog=testDB; User ID=myUser; Password=sEcret;")
'PRODUCTION ENVIRONMENT
'udb.Open("Provider=SQLOLEDB; Data Source=manifolds-avalon.db.teliasonera.net,1433; Initial Catalog=smallworldweb_user-data; User ID=myUser; Password=sEcret;")
我已建立ODBC连接以验证Web服务器是否能够使用SQL-server连接到服务器,并且它可以正常工作。我试图给myUser赋予数据库任何类型的权利。我可以使用其他程序连接到数据库(允许使用tcpip和命名管道,远程连接等)。
我试图添加
"Server=SEHAN5134AS1.db.teliasonera.net; Network=DBMSSOCN;"
到连接字符串。我试图在“数据源”字符串中使用完整的服务器名称。但现在我不知道如何解决这个问题。有什么建议吗?
修改 我试图通过如Dan Guzman提出的powershell进行连接,结果如下所示,设置ODBC连接的结果。所有结果都来自同一个Web服务器。
答案 0 :(得分:1)
试试此代码
udb.Open("Provider=SQLOLEDB; Data Source=SEHAN5134AS1\SQLEXPRESS; Initial Catalog=testDB; User ID=myUser; Password=sEcret;")
答案 1 :(得分:1)
通过将启动模式从禁用更改为自动然后启动服务,转到MS SQL server config并启用sql server浏览器。你应该能够连接后。确保您的端口在MS SQL服务器上打开1433 TCP和1434 UDP而不是IIS。还要确保在SQL Server网络配置中启用了TCP / IP
答案 2 :(得分:1)
我在同一个问题上苦苦挣扎。对我来说,解决方案是“在SQL Server网络配置中启用了TCP / IP”,并且还记得还要重新启动该服务才能使其生效!
答案 3 :(得分:0)
这个答案只是为了结束这个问题。我从来没有使用连接,而是在Web服务器上安装了SQLSERVER Express。