【发布时间】:2020-11-14 01:48:42
【问题描述】:
我在新服务器上安装了一个 MS SQL server Express 实例。我有一个 Web 应用程序,其中包含一些用 VBScript 编写的旧 ASP.NET 代码,使用另一个运行良好的数据库(SQL Server)。
每次尝试连接都会出现同样的错误:
用于 SQL Server 的 Microsoft OLE DB 提供程序错误“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 服务器连接到服务器并且它工作正常。我试图赋予 myUser 任何类型的数据库权限。我可以使用其他程序连接到数据库(允许 tcpip 和命名管道,远程连接等)
我已经尝试添加
"Server=SEHAN5134AS1.db.teliasonera.net; Network=DBMSSOCN;"
到连接字符串。我试图在“数据源”字符串中使用完整的服务器名称。但现在我不知道如何解决这个问题。有什么建议吗?
编辑 我尝试按照 Dan Guzman 的建议通过 powershell 建立连接,结果如下所示,并显示了设置 ODBC 连接的结果。所有结果均来自同一 Web 服务器。
【问题讨论】:
-
SEHAN5134AS1 是你的本地电脑还是你局域网上的远程机器?
-
这是一台远程机器
-
您是否尝试停止本地防火墙?
-
@MutedDisk。没有。
-
@史蒂夫。端口 1433 在网络服务器上打开。它也适用于 ODBC 连接。
标签: sql-server vbscript asp-classic