3

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

我使用任务 -> 创建查询将所有数据库迁移到 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>

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

4

1 回答 1

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 中的连接字符串中是否有任何有趣的字符?也许看一下十六进制编辑器,看看是否有。
于 2013-07-01T01:29:29.340 回答