将MVC站点从本地迁移到Azure,存在SQL问题

时间:2013-06-28 01:43:15

标签: c# asp.net-mvc azure

所以我一直在尝试将我的网站从本地运行迁移到Azure上,我遇到了很多问题,我已经长时间专注于这个问题,希望有人可以提供帮助:< / p>

我使用Task - &gt;将我的所有数据库迁移到Azure SQL。创建查询,然后在Azure SQL中运行该查询。它稍微改变了结构(现在所有表都在一个数据库中,它们都以“dbo”开头。

我在尝试访问我的网站时遇到的错误是:

“应用程序配置文件中的连接字符串'UnitsDBContext'不包含必需的providerName属性。”

我的连接字符串:

  <connectionStrings>
    <add name="UnitsDBContext"
   connectionString="Server=tcp:cbf8vc1b7x.database.windows.net,1433;Database=Database;User ID=username;Password=password;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"
   providerName="System.Data.SqlClient"
    />

    <add name="DefaultConnection"
     connectionString ="Server=tcp:cbf8vc1b7x.database.windows.net,1433;Database=Database;User ID=username;Password=password;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"
     providerName = "System.Data.SqlClient;" />
  </connectionStrings>

每次我转到使用数据库的页面时都会出现错误或类似错误,但其他页面加载正常。有人有建议吗?

1 个答案:

答案 0 :(得分:0)

只是为了补充Ben Narube的想法: -

  • 您可以尝试记录连接字符串,以确保正在运行的内容实际上是正确的。我提供了一个Log4Net示例(请务必在之后删除此文件并删除该文件,因为您不希望连接字符串存在):

    m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType );
    foreach( var connectionString in System.Configuration.ConfigurationManager.ConnectionStrings )
    {
        string outString = connectionString.ToString();
        m_log.Debug( outString );
    }
    
  • 您是否有替换此连接字符串的web.release.config或其他配置?例如,使用xdt:Locator =“Match(name)

  • web.config中的连接字符串中是否有任何有趣的字符?也许看看十六进制编辑器,看看是否有。