2012-03-08 1 views
1

По причинам, которые я бы не хотел обсуждать, наша основная схема базы данных в настоящее время находится только в SQL Azure. Мы работаем над его локальным использованием с помощью такого инструмента, как Enzo Backup (мы ждем от их разработчиков исправления ошибок, которые мы получили при попытке загрузки), но тем временем я хотел бы создать Linq-to-Sql ORM из схемы SQL Azure DB. При попытке сделать это, выход генерирует кучу сообщений об ошибках, как это:Использование SQLMetal в базе данных SQL Azure

Предупреждение: SQM1012: «DBO [TableName]» Невозможно извлечь из таблицы SqlServer. Недопустимое имя объекта 'syscomments'.

Возможно ли сгенерировать ORM-отображение из базы данных SQL Azure?

Редактировать

Обратите внимание, что создавать сценарии из SSMS не работает, даже в последней версии (2008 R2). Вы получите следующее сообщение об ошибке в сформированном отчете при попытке создания сценариев на экземпляре базы данных SQL Azure, и она не перед обработкой даже первый объект:

System.IndexOutOfRangeException: Индекс находился вне границ из массив. на Microsoft.SqlServer.Management.SqlScriptPublish.GeneratePublishPage.worker_DoWork (Object отправителя, DoWorkEventArgs е) при System.ComponentModel.BackgroundWorker.OnDoWork (DoWorkEventArgs е) при System.ComponentModel.BackgroundWorker.WorkerThreadStart (Объект аргумент)

Edit 2

Я просто попытался использовать бесплатный SMOscript инструмент, и он генерирует такой же сообщение об ошибке:

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

Так что это выглядит так, как легко генерировать сценарии DDL, о чем не может быть и сломано на уровне SMO для 2008 R2 по SQL Azure DB.

+1

вы приняли этот ответ http://stackoverflow.com/a/7571609/21336. не применимо ли это здесь? – devio

+1

Почему вы не пытаетесь перенести базу данных Azure на локальный SQL Server с помощью sqlservermw.codeplex.com? Я использовал его так дюжину раз, и он отлично работал для моих данных. После локализации ваших данных выполните сопоставление Linq-2-SQL с локальным сервером. – astaykov

+0

@devio: У меня никогда не получилось работать. Я согласился, потому что это был лучший ответ в то время. (и, честно говоря, я забыл об этом вопросе, который я задал: S) – mellamokb

ответ

0

Похоже, что все возвращается к SMO. Я, наконец, установил 2008 R2 SP1 и работал на своем компьютере, и похоже, что я смогу правильно генерировать сценарии (наконец). Спасибо за вашу помощь всем!