2

我支持一个旧的 vb.net 程序,它连接的数据库从 SQL Server 2005 移动到 SQL Server 2008。SQL Server 2008 上是否有允许 ODBC 连接访问数据库但不允许 VB.NET 的设置以编程方式连接到它?

我在应用程序中不断收到的错误是:

建立与服务器的连接时发生错误。连接到 SQL Server 2005 时,此故障可能是由于在默认设置下 SQL Server 不允许远程连接造成的。(提供者:命名管道提供者,错误:40 – 无法打开与 SQL Server 的连接)

但是,当我创建到 sql server 实例的系统 dsn 并通过 VS2005 的工具>>连接到数据库时,我可以连接到它。

这是我用来连接的代码:

dim strC as string 
strC = "data source=bob; database=subscribers; user id=bobuser; password=passme" 
dim connection as New SqlClient.SqlConnection(strC)  
try     
   connection.open() 
catch ex as Exception     
   msgbox(ex.message) 
end try  
connection.Close()
4

2 回答 2

2

没有这样的设置,但它是可能的,因为: 您可以通过 ODBC 访问您的服务器,因为使用 ODBC DSN 会创建一种到服务器的本地桥接。尝试使用客户端计算机上的 SqlClient 库从 VB.NET 代码连接到服务器需要您的 Sql Server 接受远程连接...

查看此MSDN 文章以获取帮助。

简单来说:

  • 您需要设置 Sql Server 以允许远程连接
  • 您需要确保您的防火墙没有阻止 Sql Server 的端口
  • 确保 TCP/IP 作为通信启用。Sql Server 机制
于 2011-01-06T19:51:05.413 回答
1

开始 > 运行 > “CLICONFG”(无引号)

在 SQL Server 客户端网络实用程序中,启用 TCP/IP 上的命名管道

于 2014-08-18T22:50:29.500 回答