我有一个名为 VHI(Visual Health Information - Network Version)的程序,它是一个服务器/客户端模型。我已经安装了服务器部分并有一个数据库。SQL Server Name\instance = “EDSERV03\VHI_PCKITS”,数据库名为“pckits”。客户端应用程序也安装在服务器上,它可以打开并正常工作。现在我在客户端计算机上安装了该应用程序,它停留在验证数据库版本...上,日志中有一个错误代码:
OLE DB Error Record dump for hr = 0x80004005
Error Location line = 120, file = 'sqldb.cpp'
Source:"Microsoft OLE DB Provider for SQL Server"
Description:"[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied."
Help File:"(null)"
Help Context: 0
GUID:{0C733A8B-2A1C-11CE-ADE5-00AA0044773D}
探究 Wireshark Wireshark 连接失败,显示 STATUS_BAD_NETWORK_NAME
它似乎正在尝试连接到网络共享 \\EDSERV03\VHI_PCKITS,即 SQL 实例。因此,我尝试创建指向 pckits.mdf 数据文件夹的该共享名的网络共享,然后再次运行连接。 创建共享路径后的Wireshark镜像
如果我能以某种方式将共享路径直接放在 SQL 实例上以使用命名管道,这似乎可行?但是我找不到如何做到这一点以及这是否可行。这家公司不再营业,我没什么主意了。
答案1
“SQL Server 不存在或访问被拒绝”错误与 \\EDSERV03\VHI_PCKITS 共享的存在与否无关。
假设您的问题是错误消息的一半“不存在”,请检查以下事项:
- 从客户端计算机,确保您可以将 EDSERV03 解析为 IP 地址。
- 确保 SQL 实例配置为接受 TCP 连接。
- 确保客户端和服务器之间的任何防火墙都允许 UDP 1434(以便客户端可以通过 SQL 浏览器服务找出命名实例正在使用的端口)以及 VHI_PCKITS 实例正在使用的 TCP 端口。