C# 无法通过Windows身份验证从C连接到SQL Server
我想使用Windows身份验证连接到SQL Server 2016 我正在将C与此连接字符串一起使用C# 无法通过Windows身份验证从C连接到SQL Server,c#,sql-server,sqlclient,C#,Sql Server,Sqlclient,我想使用Windows身份验证连接到SQL Server 2016 我正在将C与此连接字符串一起使用 Server=192.168.1.12,14331;Database=master;Integrated Security=true;Timeout=30 或 错误是连接超时 使用SQL Server身份验证连接时,如下所示: Server=192.168.1.12,14331;Database=master;User Id=***;Password=****;Timeout=30 一切都好
Server=192.168.1.12,14331;Database=master;Integrated Security=true;Timeout=30
或
错误是连接超时
使用SQL Server身份验证连接时,如下所示:
Server=192.168.1.12,14331;Database=master;User Id=***;Password=****;Timeout=30
一切都好
源代码C
var constr=;
使用var connection=new SqlConnectionconstr
{
var命令=connection.CreateCommand;
command.CommandType=CommandType.Text;
command.CommandText=选择1;
command.CommandTimeout=0;
连接。打开;
command.ExecuteNonQuery;
}
但是,当我使用SQLServerManagementStudio通过Windows身份验证检查与SQLServer实例的连接时,它是正常的。使用别名或Ip地址对错误没有帮助
我不明白为什么我会犯这个错误
请帮帮我!谢谢大家
更新:
如果将连接1与IP和端口一起使用,则会出现错误:
登录失败。登录名来自不受信任的域,无法使用
有窗户
更新:
实例SQL安装在与我的电脑位于同一网络LAN的其他电脑上。
我检查了PC上的日志查看器安装实例SQL,但没有记录日志。我不确定它是否适合您,但您可以尝试:
SqlConnection cnn;
public connect(){
string strConnect = @"Data Source=192.168.1.12,14331;Network Library=DBMSSOCN;Initial Catalog=master;User ID=****;Password=*****";
cnn = new SqlConnection(strConnect);
try
{
cnn.Open();
}
catch(Exception)
{
// connect failed
}
}
public void ExeQuery(string query){
// query="select * from tblA"
SqlCommand sqlCmd = new SqlCommand(query,cnn);
sqlCmd.ExecuteNonQuery();
sql.Dispose();
}
我很抱歉。我编辑了这个问题。你能帮帮我吗@MrMy Gserg说这两个连接字符串试图连接到两个完全相同的实例,并且在两个不同的主机上。仅因为您可以连接到一个实例,并不意味着您可以连接到另一个实例,因为它们可能会或可能会以不同的方式配置。@GSerg我很抱歉。我编辑了这个问题。两台主机与ip 192.168.1.12和端口14331相同,别名为serversql\NewInstance您可以在SQL Server的日志中看到使用windows身份验证的连接尝试吗?如果是,记录了哪些详细信息?@Larnu我检查了日志,但没有在事件查看器上写入日志。我想使用窗口身份验证,而不是sql用户。我正在使用sql user is success,但使用窗口身份验证是错误的,尽管使用sql Management Studio是成功的
SqlConnection cnn;
public connect(){
string strConnect = @"Data Source=192.168.1.12,14331;Network Library=DBMSSOCN;Initial Catalog=master;User ID=****;Password=*****";
cnn = new SqlConnection(strConnect);
try
{
cnn.Open();
}
catch(Exception)
{
// connect failed
}
}
public void ExeQuery(string query){
// query="select * from tblA"
SqlCommand sqlCmd = new SqlCommand(query,cnn);
sqlCmd.ExecuteNonQuery();
sql.Dispose();
}