我有一个使用MS SQL Server 2008数据库的网络应用程序。最近我制作了两份数据库副本,一份用于正在进行的开发,另一份用于用户开始测试和评估应用程序。
我现在有两个单独的网络应用程序。我已经将'test'版本的web.config更改为指向测试数据库,但它似乎仍然使用以前的版本。
这是否缓存在某个地方?我在盒子上运行了IISRESET,但我的网络应用程序的“测试”版本似乎仍然指向错误的数据库。
这让我发疯,任何帮助都表示赞赏。
答案 0 :(得分:4)
只是猜测:您的连接字符串可能未配置在您认为的位置。你要么改变错误的连接字符串,要么根本没有从web.config读取连接字符串。
配置不会缓存在任何地方,因此当您更改连接字符串并启动应用程序时,将加载更改的值。
创建数据库连接的数据访问代码部分是什么样的?
答案 1 :(得分:2)
确保连接字符串不在其他任何地方,例如hibernate.config。
答案 2 :(得分:1)
如果从原始数据库恢复了测试数据库,并且使用了同义词,则可能是您的同义词的名称具有全名,包括数据库名称。尝试更改这些名称,从同义词的名称中删除数据库名称!它会起作用!
答案 3 :(得分:0)
作为@Maria回答之后的补充/补充说明,如果右键单击已恢复的[新]数据库(例如Test_DB),请单击“文件”,然后查看“数据库文件”,它们可能是仍然指向,例如,MAIN_DB和MAIN_DB.log。您可能希望将这些更改为例如TEST_DB和TEST_DB.log,以便您的测试数据库实际指向正确的(测试)数据文件。 (但是,当您将[实时]数据库恢复到新的[测试]数据库时,这可能只是将测试应用程序指向测试数据库所需的一些步骤中的一步。)