2013-06-28 74 views
3

因此,我一直在嘗試將我的站點從本地運行遷移到Azure,但一直存在很多問題,我一直被困在這個專門針對很長時間,希望這裏有人可以幫助:將MVC站點從本地遷移到Azure,遇到SQL問題

我使用任務 - >創建查詢,然後在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

。你有沒有機會使用實體框架數據庫的第一種方法?UnitsDBContext連接字符串在本地運行時的樣子是什麼?默認連接字符串是否工作? –

+0

我有這個問題連接到運行在虛擬中的MSSQL數據庫機器在Azure中providerName屬性存在於我的應用程序的app.config中,但它仍然會拋出同樣的錯誤。你找到了解決方案嗎? – tremolo

回答

0

只需添加到從本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:定位器=「匹配(名稱)

  • 是否有在web.config中的連接字符串中的任何奇怪的字符可能採取的十六進制編輯器看一下,看是否有