2012-03-08 94 views
1

由於我不想討論的原因,我們的主數據庫模式目前僅在SQL Azure中使用。我們正在努力使用像Enzo Backup這樣的工具在本地將其關閉(我們正在等待他們的開發人員修復我們在嘗試下載時遇到的一些錯誤),但同時我想生成一個Linq-to-Sql來自SQL Azure數據庫模式的ORM映射。從 SqlServer的無法提取表時,我試圖這樣做,輸出生成這樣一堆錯誤消息:在SQL Azure數據庫上使用SQLMetal

警告::SQM1012「DBO [表名]。」。無效的對象名稱「syscomments」。

是否有可能從SQL Azure數據庫生成ORM映射?

編輯

注意,從生成腳本SSMS不能正常工作,甚至在最新的版本(2008 R2)。當您試圖生成一個SQL Azure的數據庫實例腳本你在生成的報告下列錯誤,它在處理之前,甚至失敗的第一個對象:

System.IndexOutOfRangeException:索引是 的邊界之外陣列。在在 System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs E) Microsoft.SqlServer.Management.SqlScriptPublish.GeneratePublishPage.worker_DoWork(對象 發件人,DoWorkEventArgs e)上 System.ComponentModel.BackgroundWorker.WorkerThreadStart(對象 參數)

編輯2

我只是嘗試使用免費的SMOscript工具,它生成相同類型的錯誤信息:

Objects in database [DatabaseName] on server [ServerAddress]: 
Error: Index was outside the bounds of the array. 

因此,它看起來像很容易生成DDL腳本是不成問題的,並且它在2008 R2 R2的SMO級別針對SQL Azure數據庫中斷。

+1

您接受此答案http://stackoverflow.com/a/7571609/21336。它不適用於此嗎? – devio 2012-03-08 19:09:06

+1

爲什麼不嘗試使用sqlservermw.codeplex.com將您的Azure數據庫轉移到本地SQL Server?我已經用了十幾次,它對我的​​數據非常完美。在本地獲得數據後,對本地服務器執行Linq-2-SQL映射。 – astaykov 2012-03-08 19:17:48

+0

@devio:我從來沒有得到它的工作。我接受,因爲這是當時最好的答案。 (說實話,我忘記了我問的問題:S) – mellamokb 2012-03-08 20:08:26

回答

0

看起來一切都追溯到SMO。我終於安裝了2008 R2 SP1並在我的電腦上工作,看起來我能夠正確生成腳本(最終)。感謝所有人的幫助!