我正在尝试使用Linq DataContext连接到一个SQL Server 2008 R2 Express数据库。数据库引擎在本地网络中的另一台机器上运行。我们目前使用SQL身份验证。SQL Server已设置为允许远程连接。
我的连接字符串如下,并且可以正常工作。我没有指定实例,但它是唯一的,所以我猜它是默认选择的:
我的连接字符串如下,并且可以正常工作。我没有指定实例,但它是唯一的,所以我猜它是默认选择的:
Data Source=192.168.1.50;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;
我也在本地安装了相同的引擎,这个连接字符串也有效:
Data Source=localhost;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;
这个也是如此,本地连接:
Data Source=.\SQLEXPRESS;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;
如果远程计算机上运行了多个引擎实例,我想特别指定一个实例怎么办?
Data Source=192.168.1.50\SQLEXPRESS;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;
上述连接字符串导致以下错误:
连接数据库时出错:在建立与 SQL Server 的连接时发生了与网络相关的或特定于实例的错误。找不到服务器或无法访问。请验证实例名称是否正确,并确认 SQL Server 已配置为允许远程连接。(提供程序:SQL Network Interfaces,错误:26 - 无法定位指定的服务器/实例)
为什么这不起作用?我找不到任何示例连接到远程数据库引擎上的特定实例的连接字符串。
ping -a 192.168.1.50
并使用返回的名称作为数据源。另外,我想到了一些事情...您还需要在连接字符串中包含远程数据库服务器的默认端口号。 - MethodMan