0

我有使用 SQL Server R2 作为其数据库的 C# 应用程序。该数据库位于名为SERVER. SQL Server 的实例名称也是server.

我的 Windows 应用程序用于DataSet与数据库通信。现在我的 SQL 安装 PC 名称更改为另一个名称,例如SERVERHP. 现在我所有的编码工作都想改变我的连接字符串。还有其他简单的方法吗?

我试图编辑主机文件,但它对我不起作用。

这是我的编码风格(http://goo.gl/FQrkp)。我正在DataSetDataAdapterIDE 设计人员一起使用。

我有 100 ~ 150 个表格。现在我无法编译所有编码。我想要一种简单的方法来连接那个 SQL Server 数据库。

我想有办法隐藏计算机主机名的变化

4

4 回答 4

2

据我了解,它是用于连接数据库的 SqlConnection 或类似的东西。你为什么不使用SqlConnectionStringBuilder?然后你可以动态地构造你需要的连接字符串。此外,要获取服务器列表,您可以使用命名空间 System.Data.Sql 中的 SqlDataSourceEnumerator。

于 2013-03-21T21:17:56.517 回答
2

你有几个选择:

  1. 将应用程序中连接字符串中的所有服务器名称全局替换为 IP 地址

  2. 用应用程序中的新服务器名称全局替换所有服务器名称

  3. 将 CNAME 记录添加到服务器上的 DNS 表(当然假设您在同一个网络中,如果您使用计算机名称,您就是这样)

  4. 在 LMHOSTS 文件中添加一个条目(您可以添加任意数量的名称,指向同一个 IP)

于 2013-03-21T21:09:54.477 回答
1

听起来您想要一种方法来隐藏运行 SQL Server 的计算机(服务器/桌面/Windows 的虚拟化实例等)的主机名更改。

这不是我的专业领域,但我想不出只涉及您的应用程序代码和计算机的方法。

如果您控制本地 DNS,则可以使用旧名称“指向”新名称创建 CNAME 条目。根据连接字符串的存储方式,您可能必须编辑它们,也可能不需要。但是您不必担心 SQL Server 的位置会再次更改,因为您始终可以编辑 CNAME 以指向新位置。

未来注意事项 - 不是您当前的问题:如果您继续使用 MS SQL Server,您需要小心将其移动到不是默认实例的计算机上,因为您需要输入实例名称在连接字符串中也是如此,这可能会迫使您再次编辑所有应用程序 web.configs 和 app.configs。

于 2013-03-21T21:15:11.257 回答
1

您是否在开发工作中使用 Visual Studio 2012?我遇到了与 mini SQL db VS 安装(使用高级版)的冲突,不得不修改我的 Machine.config 文件的 ConnectionStrings 部分以指向我的 SQL 数据库。无论出于何种原因,VS 都会在 Machine.Config 文件中写入对 mini db 的引用(对于您正在利用的任何版本的 .Net),从而引发潜在的冲突。

该文件可以在 %systemroot%\Microsoft.Net\Framework64\dot net version\Config 中找到

如果您使用的是 x86 处理器,则 Framework64 文件夹仅称为“Framework”。

于 2013-03-21T21:20:02.663 回答