C# 与sql server建立连接时出错
我正在尝试连接到sqlServer。为此,我使用以下代码:C# 与sql server建立连接时出错,c#,sql-server,C#,Sql Server,我正在尝试连接到sqlServer。为此,我使用以下代码: string server = "1.1.1.1,1433"; var stringBuilder = new SqlConnectionStringBuilder { UserID = "id", Password = "pass", MultipleA
string server = "1.1.1.1,1433";
var stringBuilder = new SqlConnectionStringBuilder
{
UserID = "id",
Password = "pass",
MultipleActiveResultSets = true,
DataSource = server,
NetworkLibrary = "DBMSSOCN",
InitialCatalog = "iCatalog"
};
using (var con = new SqlConnection(stringBuilder.ToString()))
{
try
{
con.Open();
MessageBox.Show("Connected");
}
catch (Exception exception)
{
MessageBox.Show(exception.Message);
}
}
但当程序试图打开连接时,我得到异常“在建立到sql Server的连接时发生了与网络相关或特定于实例的错误…”。如果我将ipAddress和port更改为serverName和instance,如下所示:
var server = @"MSSQL01\SQLENTW";
我能够连接到服务器。ConnectionString与ConnectionString.com中的类似。有人能告诉我我做错了什么吗
提前谢谢。试试这个
string server = "1.1.1.1:1433";
试试这个
string server = "1.1.1.1:1433";
试试这个
string server = "1.1.1.1:1433";
试试这个
string server = "1.1.1.1:1433";
我认为您的计算机正在运行多个SQL Server实例例如MACHINENAME\SQLEXPRESS、MACHINENAME\MSSQLSERVER等
当您提供IP地址时,它将连接到默认实例。由于未使用TCP/IP启用,因此返回错误。您可以转到sql Server配置(配置工具->sql Server配置实用程序),并检查所有实例的tcp已启用。我认为您的计算机正在运行多个sql Server实例例如MACHINENAME\SQLEXPRESS、MACHINENAME\MSSQLSERVER等
当您提供IP地址时,它将连接到默认实例。由于未使用TCP/IP启用,因此返回错误。您可以转到sql Server配置(配置工具->sql Server配置实用程序),并检查所有实例的tcp已启用。我认为您的计算机正在运行多个sql Server实例例如MACHINENAME\SQLEXPRESS、MACHINENAME\MSSQLSERVER等
当您提供IP地址时,它将连接到默认实例。由于未使用TCP/IP启用,因此返回错误。您可以转到sql Server配置(配置工具->sql Server配置实用程序),并检查所有实例的tcp已启用。我认为您的计算机正在运行多个sql Server实例例如MACHINENAME\SQLEXPRESS、MACHINENAME\MSSQLSERVER等
当您提供IP地址时,它将连接到默认实例。由于未使用TCP/IP启用,因此返回错误。您可以转到sql Server配置(配置工具->sql Server配置实用程序),并检查所有实例的tcp启用情况。添加实例名称如何
1.1.1.1\SQLENTW,1433
除了上面提到的以外,还可以使用spinet查找SQLServer正在侦听的端口
DECLARE @PORT nvarchar(20), @key nvarchar(100)
IF CHARINDEX('\',@@SERVERNAME,0) <>0
BEGIN
SET @KEY = 'SOFTWARE\MICROSOFT\MICROSOFT SQL SERVER\' +@@SERVICENAME+
'\MSSQLSERVER\SUPERSOCKETNETLIB\TCP'
END
ELSE
BEGIN
SET @KEY = 'SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER\SUPERSOCKETNETLIB\TCP'
END
EXEC MASTER..XP_REGREAD @ROOTKEY='HKEY_LOCAL_MACHINE', @KEY=@KEY, @VALUE_NAME='TCPPORT', @VALUE=@PORT OUTPUT
SELECT @PORT
声明@PORT-nvarchar(20),@key-nvarchar(100)
如果CHARINDEX(“\”,@@SERVERNAME,0)0
开始
SET@KEY='SOFTWARE\MICROSOFT\MICROSOFT SQL SERVER\'+@@SERVICENAME+
“\MSSQLSERVER\SUPERSOCKETNETLIB\TCP”
结束
其他的
开始
SET@KEY='SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER\SUPERSOCKETNETLIB\TCP'
结束
EXEC MASTER..XP_重新读取@ROOTKEY='HKEY_LOCAL_MACHINE',@KEY=@KEY,@VALUE\u NAME='TCPPORT',@VALUE=@PORT输出
选择@PORT
添加实例名称怎么样
1.1.1.1\SQLENTW,1433
除了上面提到的以外,还可以使用spinet查找SQLServer正在侦听的端口
DECLARE @PORT nvarchar(20), @key nvarchar(100)
IF CHARINDEX('\',@@SERVERNAME,0) <>0
BEGIN
SET @KEY = 'SOFTWARE\MICROSOFT\MICROSOFT SQL SERVER\' +@@SERVICENAME+
'\MSSQLSERVER\SUPERSOCKETNETLIB\TCP'
END
ELSE
BEGIN
SET @KEY = 'SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER\SUPERSOCKETNETLIB\TCP'
END
EXEC MASTER..XP_REGREAD @ROOTKEY='HKEY_LOCAL_MACHINE', @KEY=@KEY, @VALUE_NAME='TCPPORT', @VALUE=@PORT OUTPUT
SELECT @PORT
声明@PORT-nvarchar(20),@key-nvarchar(100)
如果CHARINDEX(“\”,@@SERVERNAME,0)0
开始
SET@KEY='SOFTWARE\MICROSOFT\MICROSOFT SQL SERVER\'+@@SERVICENAME+
“\MSSQLSERVER\SUPERSOCKETNETLIB\TCP”
结束
其他的
开始
SET@KEY='SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER\SUPERSOCKETNETLIB\TCP'
结束
EXEC MASTER..XP_重新读取@ROOTKEY='HKEY_LOCAL_MACHINE',@KEY=@KEY,@VALUE\u NAME='TCPPORT',@VALUE=@PORT输出
选择@PORT
添加实例名称怎么样
1.1.1.1\SQLENTW,1433
除了上面提到的以外,还可以使用spinet查找SQLServer正在侦听的端口
DECLARE @PORT nvarchar(20), @key nvarchar(100)
IF CHARINDEX('\',@@SERVERNAME,0) <>0
BEGIN
SET @KEY = 'SOFTWARE\MICROSOFT\MICROSOFT SQL SERVER\' +@@SERVICENAME+
'\MSSQLSERVER\SUPERSOCKETNETLIB\TCP'
END
ELSE
BEGIN
SET @KEY = 'SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER\SUPERSOCKETNETLIB\TCP'
END
EXEC MASTER..XP_REGREAD @ROOTKEY='HKEY_LOCAL_MACHINE', @KEY=@KEY, @VALUE_NAME='TCPPORT', @VALUE=@PORT OUTPUT
SELECT @PORT
声明@PORT-nvarchar(20),@key-nvarchar(100)
如果CHARINDEX(“\”,@@SERVERNAME,0)0
开始
SET@KEY='SOFTWARE\MICROSOFT\MICROSOFT SQL SERVER\'+@@SERVICENAME+
“\MSSQLSERVER\SUPERSOCKETNETLIB\TCP”
结束
其他的
开始
SET@KEY='SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER\SUPERSOCKETNETLIB\TCP'
结束
EXEC MASTER..XP_重新读取@ROOTKEY='HKEY_LOCAL_MACHINE',@KEY=@KEY,@VALUE\u NAME='TCPPORT',@VALUE=@PORT输出
选择@PORT
添加实例名称怎么样
1.1.1.1\SQLENTW,1433
除了上面提到的以外,还可以使用spinet查找SQLServer正在侦听的端口
DECLARE @PORT nvarchar(20), @key nvarchar(100)
IF CHARINDEX('\',@@SERVERNAME,0) <>0
BEGIN
SET @KEY = 'SOFTWARE\MICROSOFT\MICROSOFT SQL SERVER\' +@@SERVICENAME+
'\MSSQLSERVER\SUPERSOCKETNETLIB\TCP'
END
ELSE
BEGIN
SET @KEY = 'SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER\SUPERSOCKETNETLIB\TCP'
END
EXEC MASTER..XP_REGREAD @ROOTKEY='HKEY_LOCAL_MACHINE', @KEY=@KEY, @VALUE_NAME='TCPPORT', @VALUE=@PORT OUTPUT
SELECT @PORT
声明@PORT-nvarchar(20),@key-nvarchar(100)
如果CHARINDEX(“\”,@@SERVERNAME,0)0
开始
SET@KEY='SOFTWARE\MICROSOFT\MICROSOFT SQL SERVER\'+@@SERVICENAME+
“\MSSQLSERVER\SUPERSOCKETNETLIB\TCP”
结束
其他的
开始
SET@KEY='SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER\SUPERSOCKETNETLIB\TCP'
结束
EXEC MASTER..XP_重新读取@ROOTKEY='HKEY_LOCAL_MACHINE',@KEY=@KEY,@VALUE\u NAME='TCPPORT',@VALUE=@PORT输出
选择@PORT
您是否在端口1433上运行SQL server?由于您没有使用默认实例名称,默认情况下,它将在随机分配的端口(而不是1433)上运行。您是否在端口1433上运行SQL server?由于您没有使用默认实例名称,默认情况下,它将在随机分配的端口(而不是1433)上运行。您是否在端口1433上运行SQL server?由于您没有使用默认实例名称,默认情况下,它将在随机分配的端口(而不是1433)上运行。您是否在端口1433上运行SQL server?由于您没有使用默认实例名称,因此默认情况下,它将在随机分配的端口(不是1433)上运行。是否检查了端口号?是否检查了端口号?是否检查了端口号?是否检查了端口号?是否可以解释它的确切位置。我在sql server配置中