连接到其他电脑上的 SQL Server

3

我正在尝试让我的使用SQL Server的程序在另一台机器上可用。我知道该机器需要安装SQL Server客户端才能使其工作,但我想知道我的ConnectionString是否在我的电脑之外也能正常工作。

我是否需要将我的数据库附加到项目中?如果是,我该如何操作?

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
    </startup>
  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=.\BENESQL;Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;Password=123qwe;" providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>

2
你的连接字符串指向本地机器。改用远程机器的名称或地址作为数据源。 - Panagiotis Kanavos
连接字符串只要凭证正确,即可在另一台机器上使用。我建议使用: "Data Source=.\BENESQL;Initial Catalog=Northwind;Integrated Security=true;"。整合安全性将使用Windows凭据,如果1)本地PC和远程PC在同一组中;2)在本地和远程PC上设置了组帐户;3)将用户添加到该组帐户,则会起作用。通常,公司已经设置了组策略并已经建立了组。请与您公司的MIS人员交谈。 - jdweng
3个回答

8

您的数据源必须包含其他计算机名称或IP地址,因此不要使用:

Data Source=.\BENESQL

你需要类似以下的内容:

你需要类似以下的内容:

Data Source=123.123.123.123\BENESQL

此外,您需要记住将例外添加到防火墙等。

我不想通过网络访问它。 我只是希望其他计算机在本地拥有自己的数据库。 如果我想在名为“Natalie'sPC\BeneSQL”的计算机上运行它,我该怎么做? - Benedikt J Schlegel
如果您决定在其他计算机上设置数据库和应用程序,则“.\”将像“127.0.0.1\”一样正常工作。 - Piotr Wojsa

5

您的连接字符串指向本地计算机,请将其更改为:

connectionString="Data Source=<<server name or IP address>>\BENESQL;Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;Password=123qwe;"

默认情况下,SQL Server没有设置远程连接,即使不是在你的局域网内。你需要进入Sql Server配置管理器,在其中启用TCP/IP

enter image description here


0

不会,因为它当前指向本地 SQL Server 实例。您还需要在连接字符串的 Data Source 属性中指定服务器 IP 和端口。

Data Source=<IPAddress>\BENESQL;Initial Catalog=Northwind; 

请参考 https://www.connectionstrings.com/sql-server/ 以获取更多信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接