2011-01-18 4 views
1

просто написать инструмент (C# .Net 4) для преобразования существующей базы данных Access 2010 в SQL Server 2008. На данный момент мне нужно преобразовать типы данных и построить команды «create» для таблицу и ограничения вручную.Преобразование Access 2010 в SQL 2008

Итак, каков самый быстрый способ получить схему из Access с помощью DataAdapter и создать таблицу из DataTable на SQL Server со всеми constratins и преобразованными типами?

   OleDbDataAdapter da = new OleDbDataAdapter(accCmd); 
       DataTable accSchema = new DataTable(); 
       da.FillSchema(accSchema, SchemaType.Source); 
       //now create db table at sql server from accSchema 

Благодарим за помощь. Gpx

+0

Не можешь использовать SSIS сделать этот вид для вас? – Rup

+0

Смотреть комментарий на djeeg. – Gpx

+0

Здесь очень похожий вопрос: http://stackoverflow.com/questions/4071044/how-to-convert-export-sql-server-database-to-msaccess-from-c и здесь http://stackoverflow.com/questions/559394/ms-access-application-convert-data-storage-from-access-to-sql-server – Fionnuala

ответ

4

Я использовал это в прошлом, когда Upsizing моих приложений доступа и он сделал хорошую работу

Microsoft SQL Server Migration Assistant for Access v5.2

+0

Спасибо Kevin, попробовал инструмент, закончил преобразование с «Произошла непредвиденная ошибка». и никакой дополнительной информации. Это сделало некоторую работу, хотя, но я вполне уверен, все ли сделано правильно. – Gpx

+0

Одна из вещей, которые я считаю ошибкой дизайна пользовательского интерфейса в SSMA, заключается в том, что мастер, который запускает, выполняет фактическое преобразование, вместо того чтобы разрешить вам сначала его протестировать, а затем исправить все, что не работает. Я обнаружил, что увольнение мастера и выполнение его вручную более полезно, так как вы можете точно определить, что не будет конвертировать так, как вы хотите, а затем скорректировать исходную базу данных, чтобы исправить ее (при условии наличия исправления). –

0

Вы уверены, что вы не можете использовать существующие инструменты? Сохраняет повторное изобретательство колеса.

http://projects.c3o.com/files/3/plugins/entry11.aspx

http://dbcopytool.codeplex.com/

+0

Я не могу сказать с первого, но второй выглядит как SQL Server только для SQL Server – Rup

+0

Конечно, не пытайтесь заново изобрести, а строите один инструмент для разных исходных баз данных, а не в Интернете для пары конвертеров. Так возможно ли так или иначе? – Gpx

Смежные вопросы