因此,我一直试图将我的网站从本地运行迁移到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>
每当我转到使用数据库的页面时,都会发生该错误或类似的错误,尽管其他页面也可以正常加载。有人有建议吗?
最佳答案
只是为了增加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的连接字符串中是否有任何有趣的字符?也许在十六进制编辑器中查看是否存在。
关于c# - 将MVC网站从本地迁移到Azure,遇到SQL问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17355974/