通过TCP/IP连接到SQL服务器,而不是NP
问题描述:
我发现,我的SQL服务器已禁用命名管道,但启用了TCP/IP(它会保持这种方式)。现在我试图从Visual Studio连接到数据库,但没有运气。 到目前为止,我已经试过:通过TCP/IP连接到SQL服务器,而不是NP
string connstring = "Data Source=192.168.1.1:1433 ;Initial Catalog=np-sparcsn4-custom;Persist Security Info=True;User ID=xxxx;Password=/*****/";
string connstring = "Data Source=192.168.1.1:1433 ; Network Library=DBMSSOCN; Initial Catalog=np-sparcsn4-custom;Persist Security Info=True;User ID=xxxx;Password=/*****/";
我试图替换名称的IP地址 - 没有运气。当我尝试使用表格适配器进行连接时,我可以预览数据,如果使用ie网格,也是如此 - 但是在代码中,我根本无法打开连接:我总是遇到与网络相关的或服务器特定的错误,通常是无论是
Named Pipes Provider: Could not open a connection to SQL Server [5]
或
provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server
服务器设置为接受远程连接,可被访问。
更新:
我已经试过
string connstring = "Server=tcp:192.168.1.1,1433 ;Initial Catalog=np-sparcsn4-custom;Persist Security Info=True;User ID=xxx;Password=/****/";
或
"Server=tcp:ponln4report,1433 ....
和我有错误:
provider: TCP Provider, error: 0 - A non-recoverable error occurred during a database lookup**strong text**
EDI2:我发现了一个旧的SQL Server 2005中,我可以连接没有问题。这有点痛苦,因为它缺少日期和时间数据类型,但我猜它现在必须做。
答
对于C#,使用此连接字符串
connectionString="Data Source=192.168.1.1,1433;Initial Catalog=np-sparcsn4-custom;Integrated Security=false;User ID=your_username;Password=your_password"
如果您需要修改web.config文件,添加此节点:
<connectionStrings>
<remove name="LocalSqlServer" />
<add name="LocalSqlServer" connectionString="Data Source=192.168.1.1,1433;Initial Catalog=np-sparcsn4-custom;Integrated Security=false;User ID=your_username;Password=your_password" providerName="System.Data.SqlClient" />
</connectionStrings>
+0
我试过了。 “数据源”和“服务器”可以互换。 – Yasskier 2014-10-08 21:05:04
你确定SQL Server具有启用并可访问的TCP/IP吗? – abatishchev 2014-10-07 22:36:27
是的,它们已启用 – Yasskier 2014-10-07 22:40:28
检查SQL Native Client 10.0配置节点下的内容:是否启用了tcp/ip? – Isantipov 2014-10-07 22:40:47