我正在尝试使用我的C#代码连接到SQL Server 2014
<connectionStrings>
<add name="ConnectionString"
connectionString="Data Source=IP\\SQLNameSERVER,1433;Network Library=DBMSSOCN; Initial Catalog=MyDB; User ID=Username; Password=password;"/>
</connectionStrings>
string ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
using (SqlConnection cn = new SqlConnection(ConnectionString))
{
query = "SELECT * FROM [MyTable]";
using (SqlCommand commandUserPortal = new SqlCommand(query, cn))
{
cn.Open();
}
}
但是我收到一条错误消息:
用户'用户名'登录失败。
当我使用相同的凭据通过SQL Server Management Studio连接到数据库时,它可以正常工作而没有任何问题。
用户拥有db_datareader
权限。
我也试过
<connectionStrings>
<add name="ConnectionString"
connectionString="Data Source=IP\\SQLNameSERVER,1433;Network Library=DBMSSOCN; Initial Catalog=MyDB; User ID=Username; Password=password;
providerName="System.Data.SqlClient"/>
</connectionStrings>
答案 0 :(得分:4)
使用Visual Studio中的Add connection
使用准确的连接字符串。
如何: - 强>
按照下一个屏幕截图: -
1)查看&gt;&gt;服务器资源管理器
2)添加连接
3)选择数据源&gt;&gt; SQL Server
4)输入Server Name
,SQL Server authentication
,输入username
和password
,然后选择database
。
5)点击Test Connection
按钮。
6)您创建的连接将在此处添加
7)右键单击并选择properties
8)最后复制并粘贴连接字符串并使用并用密码替换星号(********)
答案 1 :(得分:1)
尝试为您的数据库更改sql server中的设置。同时允许sql和windows身份验证。对于带图像的步骤,请检查here。我希望您不使用Windows身份验证,并且您的网络也可以访问数据库服务器。其他一切对我来说都很好。
答案 2 :(得分:0)
尝试更改连接字符串:
<add name="ConnectionString" connectionString="Data source=IP\SQLNameSERVER;Initial Catalog=DBname;User=Username;Password=Password; connection timeout=6000;" />
还尝试更改您的代码:
从:
using (SqlConnection cn = new SqlConnection(ConnectionString))
{
query = "SELECT * FROM [MyTable]";
using (SqlCommand commandUserPortal = new SqlCommand(query, cn))
{
cn.Open();
}
}
为:
using (SqlConnection cn = new SqlConnection(ConnectionString))
{
query = "SELECT * FROM [MyTable]";
cn.Open();
using (SqlCommand commandUserPortal = new SqlCommand(query, cn))
{
}
}
答案 3 :(得分:0)
使用以下作为连接字符串
<add name="DefaultConnection" connectionString="data source=192.168.0.1; initial catalog=DBNAME;persist security info=True;user id=UserId;password=Password;MultipleActiveResultSets=True ; Connect Timeout=10000" providerName="System.Data.SqlClient" />
替换目录中的数据库名称,用户ID中的用户ID和密码中的passeord