Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net SQL Server没有源代码,希望更改连接字符串_.net_Sql Server_C# 4.0_Emulation - Fatal编程技术网

.net SQL Server没有源代码,希望更改连接字符串

.net SQL Server没有源代码,希望更改连接字符串,.net,sql-server,c#-4.0,emulation,.net,Sql Server,C# 4.0,Emulation,我在web应用程序中遇到过这种情况: -我没有源代码 -我们需要尽快更改数据库服务器 -为了使应用程序正常工作,我们需要更改 连接字符串或找到解决方法 它是一个.NET1.1应用程序,连接字符串是一个.dll。我有什么选择?上次更改服务器时,我们将所有内容都放在同一服务器(包括数据库服务器)中,然后将数据库服务器的ip添加到新服务器中。。。但现在这是不可能的,因为数据库服务器将托管在其他地方 有没有办法“模拟”最后一台服务器的ip 我还能做什么?假设dll也是.NET DLL,我会考虑以下内容:

我在web应用程序中遇到过这种情况:

-我没有源代码 -我们需要尽快更改数据库服务器 -为了使应用程序正常工作,我们需要更改 连接字符串或找到解决方法

它是一个.NET1.1应用程序,连接字符串是一个.dll。我有什么选择?上次更改服务器时,我们将所有内容都放在同一服务器(包括数据库服务器)中,然后将数据库服务器的ip添加到新服务器中。。。但现在这是不可能的,因为数据库服务器将托管在其他地方

有没有办法“模拟”最后一台服务器的ip


我还能做什么?

假设dll也是.NET DLL,我会考虑以下内容:

  • 运行以将DLL反汇编为IL
  • 编辑IL以更改连接字符串
  • 运行(一个.NET1.1版本!)将IL重新组装到一个DLL中
  • 让管理层非常清楚,你处于一种不可持续的状况。在这种状态下,您真的无法运行生产网站

如果连接字符串硬编码到.DLL中,并且如果它使用名称引用服务器(而不是其IP),则如果您有访问权,可能需要更改运行网站的服务器上的主机文件,因此它将指向新的DB服务器。另一种选择可能是使用SQL本机客户端的别名功能将连接重定向到其他地方。 但是如果连接字符串使用IP地址,我认为这些方法不起作用。如果您具有这种访问权限,更改web服务器的本地IP地址可能会允许其他服务器代替它。如果不能真正更改连接字符串,则没有什么是100%可靠的


从长远来看,我认为最好的机会是,您可以尝试反汇编DLL并修改连接字符串,以便从某个配置文件中读取,而不是硬编码,然后重新编译并从此修改配置中的参数。

非常感谢您的回复,当我的经理再次优先考虑这个问题时,我会尝试这个方法,我会让你知道结果。。。现在他们的新主机有问题了呵呵