![](/img/trans.png)
[英]Connecting to SQL Server on different domain using Windows Authentication
[英]Connecting to SQL Server using windows authentication
当我尝试使用以下代码连接到 SQL Server 时:
SqlConnection con = new SqlConnection("Server=localhost,Authentication=Windows Authentication, Database=employeedetails");
con.Open();
SqlCommand cmd;
string s = "delete employee where empid=103";
我收到以下错误:
与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供程序:SQL 网络接口,错误:25 - 连接字符串无效)
SQL Server 的连接字符串应该更像: "Server= localhost; Database= employeedetails; Integrated Security=True;"
如果您有 SQL Server 的命名实例,则还需要添加它,例如, "Server=localhost\\sqlexpress"
您的连接字符串错误
<connectionStrings>
<add name="ConnStringDb1" connectionString="Data Source=localhost\SQLSERVER;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
查看www.connectionstrings.com以获取大量正确连接字符串的示例。
在你的情况下,使用这个:
Server=localhost;Database=employeedetails;Integrated Security=SSPI
更新:显然,用于运行 ASP.NET Web 应用程序的服务帐户无权访问 SQL Server,从该错误消息判断,您可能在您的网站上使用了“匿名身份验证”。
因此,您需要将此帐户IIS APPPOOL\\ASP.NET V4.0
为 SQL Server 登录名并授予该登录名访问您的数据库,或者您需要在您的 ASP.NET 网站上切换到使用“Windows 身份验证”,以便调用 Windows 帐户将传递到 SQL Server 并用作 SQL Server 上的登录名。
您必须在 Web.config 文件中添加一个connectionString
作为
<connectionStrings>
<add name="ASPNETConnectionString" connectionString="Data Source=SONU\SA;Initial Catalog=ASPNET;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
然后编写您的 SQL 连接字符串,如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public partial class WebPages_database : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ASPNETConnectionString"].ToString());
SqlDataAdapter da;
DataSet ds;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnAdmnNumber_Click(object sender, EventArgs e)
{
string qry = "select * from Table";
da = new SqlDataAdapter(qry, con);
ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
}
}
有关更多信息,请点击此链接How To:Connect to SQl with windows Authentication
这对我有用:
在 web.config 文件中;
<add name="connectionstring name " connectionstring="server=SQLserver name; database= databasename; integrated security = true"/>
我面临同样的问题,原因是单反斜杠。 我在“数据源”中使用了双反斜杠并且它有效
connetionString = "Data Source=localhost\\SQLEXPRESS;Database=databasename;Integrated Security=SSPI";
使用此代码:
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @"Data Source=HOSTNAME\SQLEXPRESS; Initial Catalog=DataBase; Integrated Security=True";
conn.Open();
MessageBox.Show("Connection Open !");
conn.Close();
只需用下面的替换第一行;
SqlConnection con = new SqlConnection("Server=localhost;Database=employeedetails;Trusted_Connection=True");
问候。
使用此代码
Data Source=.;Initial Catalog=master;Integrated Security=True
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.