在多个系统之间共享SQL Server

时间:2011-09-22 17:19:38

标签: c# sql visual-studio

我在办公室里有三台电脑,而且我已经在所有三台电脑上安装了我的C#-2005项目

计算机。但问题是Boss希望在一台PC上使用Sql-server-2000,而不是其他

会分享相同的内容。

我不知道如何在三台PC之间共享Sql-server-2000?怎么办?。

混乱: -

感谢您的合作,但在这里我对大多数人说要检查

感到困惑

TCP / IP 地址,并根据客户端PC上的主服务器考虑连接字符串。

假设我有财务项目,并且

中将有数千个连接字符串

项目。如上所述,我必须根据主电脑改变数千个连接字符串。

现在认为这是一个客户的需求如果我有10个cutomer有相同的报价而不是想多少时间我不得不浪费它?我要修改数千个连接字符串十次以上吗?

如果确实如此,则每个客户都需要花费大量时间进行安装。

我不知道这是否只是方法?

我在每个winform上使用的连接字符串如下:

string connstr = "server=.;initial catalog=maa;uid=mah;pwd=mah";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();

这里有关于Config File的建议,同样我不知道是否有人知道如何使用我的C#2005项目来考虑它,而不是节省我的时间。

4 个答案:

答案 0 :(得分:3)

当您在代码中连接到数据库时,您将在那里的某个地方找到某种类型的数据库连接字符串。找出数据库服务器的连接字符串,并将代码设置为指向该数据库服务器的连接信息;我敢打赌,你现在已将它指向 localhost

如果您使用的是SQL Server,则可能需要在数据库服务器上启用远程连接。

补充说:您可能还需要修改防火墙设置以允许SQL Server流量(感谢Jared)

修改 :用于将配置字符串放入中心位置。

您发布的代码

string connstr = "server=.;initial catalog=maa;uid=mah;pwd=mah";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();

更改为

假设您的应用程序有一个App.Config文件,那么您可以在其中添加一个条目,如

<add key="DBConnectionString" value="server=.;initial catalog=maa;uid=mah;pwd=mah"/>

将您的C#代码更改为

string connstr = ConfigurationManager.AppSettings["DBConnectionString"];
SqlConnection conn = new SqlConnection(connstr);
conn.Open();

如果要检索很多设置和/或认为配置存储方法可能会改变,那么将ConfigManager调用放入类可能是个好主意。使用上面的示例比将字符串文字分散在整个代码中更好。

答案 1 :(得分:2)

在SQL Server中启用TCP/IP连接。这样您就可以从网络中的任何PC远程连接

检查here

答案 2 :(得分:1)

如果您的问题是您在代码中嵌入了连接字符串,那么您将不得不进行一些重构。这些是一般步骤,你必须根据自己的情况定制它们。

  1. 将您的连接字符串添加到app.config文件中。
  2. 创建一个静态/共享方法,该方法将从中读取连接字符串 配置文件。
  3. 在您的解决方案中查找并替换所有内容 您的代码中的硬编码连接字符串与(类 和)获取连接字符串的方法的名称。
  4. 这可能比重写所有数据调用更容易使用企业库或EF等。

答案 3 :(得分:0)

您需要按照其他建议进行操作,例如更改连接字符串并在SQL Server中启用TCP / IP,但您可能还需要配置防火墙以允许对SQL Server的请求(默认端口为1433)通过