c# - 难以连接到 LAN 上的 SQL Server Express

标签 c# sql sql-server

我在连接 LAN 中计算机上的 SQL Server 时遇到问题。

我已完成以下操作:

1.) 将运行服务器的机器的IP设为10.0.0.7,将局域网内其他机器的IP设为IP 10.0.0.X。 LAN 上没有互联网(并且将保持这种状态),允许更改 IP。

2.)通过执行 This 启用远程连接

3.)使用了适当的连接字符串。

现在我唯一剩下的问题是关于那些希望连接到服务器的人的连接字符串,这是当前的Con-string:

string sConnection = @"Server=10.0.0.7\MARNUS-PC\MARNUS_HOME; User ID=MARNUS-PC\MARNUS_HOME; Password=somepassword; Initial Catalog=TestDB;";

我的问题是:

1.) 服务器部分应该放什么?这是我的服务器名称和实例名称 Management Studio - 服务器名称:MARNUS-PC\MARNUS_HOME,实例名称:MARNUS_HOME。

2.) 我使用什么作为用户 ID?我希望使用 Windows 身份验证而不是 sql server 身份验证(我已在服务器上启用了两者),那么连接字符串应该如何更改以及如何允许来自管理工作室的服务器端的用户(如果需要)? p>

3.)我假设如果我使用 Windows 身份验证,我不需要 Con-String 的密码部分?

对于所有问题,我深表歉意,但我学的是 MS Access,现在正在自己切换到 SQL Server。

最佳答案

您的连接字符串必须类似于......

string sConnection = @"Server=MARNUS-PC\InstanceName; User ID=MARNUS-PC\MARNUS_HOME; Password=somepassword; Initial Catalog=TestDB;";

实例名称是Sql Server 实例名称

如果您不确定实例名称,请在 Sql Server Management Studio 中执行以下语句

SELECT @@SERVERNAME

它将返回[ServerName\InstanceName],您可以将整个返回的字符串传递给您的连接字符串,即您的服务器名称Server=ServerName\InstanceName;

Windows 身份验证

要使用 Windows 身份验证,您将需要一个类似这样的连接字符串..

 string sConnection = @"Server=MARNUS-PC\InstanceName;  Initial Catalog=TestDB; integrated security=SSPI";

关于c# - 难以连接到 LAN 上的 SQL Server Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22282681/

相关文章:

c# - 存在、读写只需一步

c# - 非空接口(interface)代码契约的实现——default(T) vs throw NotImplementedException

c# - 在 json 中反序列化嵌套列表的最佳方法 - C#

c# - WebApi DI Autofac - 确保 Controller 具有无参数公共(public)构造函数

sql-server - 使用外键 (FK) 作为每层次结构表 (TPH) 的鉴别器

sql - SQL Server 中总计的运行摘要

c# - C#中恢复数据库的问题

MySQL 选择与某条记录无关的记录

mysql - 想要按两列分组,包括每天

sql - 如何在 Postgres 的单个表中获取所有列的不同值?