我有一个本地SQL Server数据库,我试图通过我的C#应用程序中的连接字符串连接到该数据库。
我已经尝试使用此连接字符串,我将Password留空,因为SQL登录凭据中没有提供密码:
Data Source=myComputerIP,1433;Network Library=DBMSSOCN; Initial
Catalog=myDataBase;User ID=myUsername;Password=;
我已启用TCP/IP并在SQL Server配置管理器中启动了SQL Web Browser,打开了端口1433,SQL Server配置为允许远程连接。我在C#中遇到错误
建立与服务器的连接时发生与网络相关的或特定于示例的错误。
我是否使用了错误的连接字符串?
我的SQL Server数据库登录名:
3条答案
按热度按时间ruarlubt1#
从附加的PNG中,您似乎正在使用SQLExpress。默认情况下,它不在TCP端口1433上启动。请在“配置管理器”-〉“网络配置”-〉"协议...“-〉右键单击TCP/IP,选择属性,然后单击IP地址选项卡中检查端口
滚动到底部,将IpAll部分下的TCP端口设置为1433,重新启动SQL Server,然后重试(或使用连接字符串中此处定义的任何端口)
我还建议使用SQL Server用户作为远程客户端,而不是Windows用户--这样可以很好地将其与Windows和域等分隔开。
确保您的SQL Server配置为混合模式:https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/change-server-authentication-mode?view=sql-server-2017
然后,您可以通过SSMS创建一个LOGIN(用于数据库服务器)和一个USER(用于您希望它们访问的特定数据库),或者您可以使用以下脚本:
您可以通过SSMS完成以上所有操作-在Security节点下添加一个登录名,然后在登录名的属性中设置数据库级别的权限。如果您想重复此过程,该脚本更易于管理。
连接字符串如下所示:
yfwxisqw2#
您正在使用Windows身份验证,因此还必须设置集成安全性= true。请删除用户ID和密码。
如果Integrated Security = true,则连接字符串将获取运行应用程序的用户的凭据
pftdvrlh3#
我正在运行一个微软SQL服务器在我的macbook pro从2015 Docker容器,得到这个错误时,运行我的C# VS2022 API,并试图连接到数据库,不得不把
Encrypt=True
在我的连接字符串如下:"DefaultConnection": "server=localhost;database=newcomparer;trusted_connection=false;User Id=sa;Password=reallyStrongPwd123;Persist Security Info=False;Encrypt=True"