我在 Web 应用程序中遇到了这种情况:
-我没有源代码 -我们需要尽快更改数据库服务器 -为了让应用程序正常工作,我们需要更改连接字符串或找到解决方法
这是一个 .NET 1.1 应用程序,连接字符串位于 .dll 中。¿ 我有什么选择?上次我们更改服务器时,我们将所有内容放在同一台服务器(包括数据库服务器)中,然后我们将数据库服务器的 ip 添加到新服务器中......但现在不可能,因为数据库服务器将托管在其他地方。
有没有办法“模拟”最后一个服务器的 ip?
我还可以做些什么?
我在 Web 应用程序中遇到了这种情况:
-我没有源代码 -我们需要尽快更改数据库服务器 -为了让应用程序正常工作,我们需要更改连接字符串或找到解决方法
这是一个 .NET 1.1 应用程序,连接字符串位于 .dll 中。¿ 我有什么选择?上次我们更改服务器时,我们将所有内容放在同一台服务器(包括数据库服务器)中,然后我们将数据库服务器的 ip 添加到新服务器中......但现在不可能,因为数据库服务器将托管在其他地方。
有没有办法“模拟”最后一个服务器的 ip?
我还可以做些什么?
如果连接字符串被硬编码到 .DLL 中,并且如果它使用名称来引用服务器(而不是其 IP),那么如果您有权访问,您可能希望更改运行网站的服务器上的 hosts 文件,因此它指向改为新的数据库服务器。另一种选择可能是使用 SQL 本地客户端的别名功能将连接重定向到其他地方。但如果连接字符串使用 IP 地址,我认为这些方法行不通。再次,如果您具有这种访问权限,则更改 Web 服务器的本地 IP 地址可能会允许其他服务器代替它。如果您不能真正更改连接字符串,则没有什么是 100% 可靠的。
从长远来看,我认为最好的机会是,如果您可以尝试反汇编 DLL 并修改连接字符串,以便从某个配置文件中读取,而不是硬编码,然后重新编译,然后从配置中修改参数.