[英]Connecting to internal SQL Server 2008 R2 from DMZ web server using IIS7 using a trusted connection?
[英]IIS7 application using wrong SQL Server 2008 Express database
我很沮丧 我在虚拟专用服务器上有一个客户端站点-Windows Web Server 2008 SP2,IIS7,SQL Server 2008 Express。
我正在尝试设置第二个Web应用程序,以允许他在更新发布之前对其进行审核。 我已经在IIS7中创建了Web应用程序,并且向SQL Server添加了第二个数据库。 第二个数据库本质上是生产数据库的副本,在数据库名称的前面加上“ DEV”,并在一些表中添加了一些新字段。
我的生产站点工作正常。 但是,测试站点返回一个SqlException:“无效的列名'版本'。” 这是新领域之一-使我相信我的开发人员站点是指生产数据库,而不是开发人员数据库。 但是,连接字符串确实指向不同的数据库(尽管两者的登录名都相同):
似乎应该是我所缺少的明显东西。 一位同事建议我为第二个IIS应用程序创建另一个应用程序池,但似乎没有帮助。
UPDATE,经过进一步测试:
我将开发站点的连接字符串更改为
"Server=.\SQLExpress;Database=DEVmyDbName;User ID=devuser;Password=myNewDifferentPassword;"
并在数据库上创建了一个新的SQL Server登录名,并仅授予它对dev数据库的访问权限。 我还将dev数据库设置为该帐户的默认数据库。 我从生产登录中删除了对dev数据库的访问。 当我尝试登录该站点时,出现以下错误:
结果,我肯定知道两件事:
我认为这不会有所作为,但是我会提到我正在使用NHibernate进行数据库访问。
仍然难住。
事实证明,NHibernate具有重要意义。 设置的NHibernate配置选项之一是“ default_schema”-当我删除它时,该应用程序开始连接到正确的数据库。
似乎default_schema属性将覆盖连接字符串中指定的任何数据库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.