Asp.net mvc 3 MVC 3-在SQLServer2005上写入生产数据库不起作用(在本地SQLServer2008上测试起作用)

Asp.net mvc 3 MVC 3-在SQLServer2005上写入生产数据库不起作用(在本地SQLServer2008上测试起作用),asp.net-mvc-3,sql-server-2008,sql-server-2005,connection-string,Asp.net Mvc 3,Sql Server 2008,Sql Server 2005,Connection String,我有点困惑。我构建了我的MVC3项目,该项目在我的开发环境和VisualStudio2010中集成的IIS中运行良好 在将其部署到IIS7之后,它似乎也能工作。读书可以。但当我试图更改一些数据库值时,它根本不起任何作用。这似乎是可行的,但在重新加载更改的值后,它们根本不会更改 开发数据库位于本地MS SQL Server 2008上,生产数据库位于带有SQL Server 2005的远程服务器上(在本例中,但版本稍后会有所不同)。有什么区别吗?连接字符串中的用户具有完全权限,因为可以通过Mana

我有点困惑。我构建了我的MVC3项目,该项目在我的开发环境和VisualStudio2010中集成的IIS中运行良好

在将其部署到IIS7之后,它似乎也能工作。读书可以。但当我试图更改一些数据库值时,它根本不起任何作用。这似乎是可行的,但在重新加载更改的值后,它们根本不会更改

开发数据库位于本地MS SQL Server 2008上,生产数据库位于带有SQL Server 2005的远程服务器上(在本例中,但版本稍后会有所不同)。有什么区别吗?连接字符串中的用户具有完全权限,因为可以通过ManagementStudio更改作品

连接字符串如下所示:

<add name="MyDBEntities"
  connectionString="metadata=
                    res://*/Models.MyDB.csdl|
                    res://*/Models.MyDB.ssdl|
                    res://*/Models.MyDB.msl;
                    provider=System.Data.SqlClient;
                    provider connection string=&quot;
                    data source=10.90.0.88;
                    initial catalog=MyDB;
                    persist security info=True;
                    user id=foo;
                    password=bar;
                    multipleactiveresultsets=True;
                    App=EntityFramework&quot;"
  providerName="System.Data.EntityClient" />

提前谢谢


PS:我使用安装在服务器上的Entity Framework 4.1构建项目。不过,阅读确实有效…

我建议确保您拥有正确的连接详细信息。我能想到的最简单的方法是:

  • 创建新的文本文件(f.e.connection.txt)
  • 将“.txt”重命名为“.udl”
  • 双击创建的connection.udl文件
  • 提供所有必需的连接详细信息,点击“测试连接”按钮
  • 如果有效,点击“确定”按钮,用记事本打开文件-连接字符串将位于connection.udl文件中。如果不起作用-您需要了解适当的服务器详细信息(检查实例名称、端口号,如果您的用户具有正确的权限)

  • 这些类型的问题通常是指向错误的DB实例的结果。尝试检查所有连接分配。测试连接正常。我得到类似于
    Provider=SQLNCLI.1;密码=bar;持久安全信息=True;用户ID=foo;初始目录=MyDB;数据源=10.90.0.88
    ,似乎与以前的数据源相同。问题是,我可以读取数据库,但不能写入它。您确定您的用户有权限在您正在测试的特定数据库上写入吗?当您尝试更新数据库时,会出现什么样的错误?例如,在更新“客户”时,不会出现错误。它只是不保存数据。用户有权更改数据库中的任何内容。这些凭据与SQL Management Studio配合使用。在SQLServer2008上,一切正常。2005年:不写入。使用凭据登录到生产中的sql 2005实例,然后实际发出DML以插入数据。