Инструмент для преобразования базы данных MS-Access в сценарий SQL - PullRequest
3 голосов
/ 17 декабря 2008

В нашем программном пакете используется база данных MS-Access, эта база данных много раз модифицировалась, поэтому немного сложно просто просмотреть файлы (отношения между таблицами - черт побери), в любом случае

Есть ли способ или программа для преобразования этого mdb-файла в сценарий SQL (на данный момент любой сценарий SQL сделает это).

Спасибо

Ответы [ 3 ]

3 голосов
/ 17 декабря 2008

Вы смотрели на миграцию SQL Server для Microsoft Access ?

Если вы преобразуете копию в SQL Server, вы сможете лучше понять базу данных.

1 голос
/ 24 апреля 2009

Вы можете взглянуть на Database Comparer

1 голос
/ 17 декабря 2008

SubSonic имеет опции для выгрузки дизайна базы данных, а также ее данных в SQL. В прошлом я обнаружил, что это очень удобно для резервного копирования моей тестовой базы данных с контролем исходного кода.

Загрузите и установите версию 2.1 SubSonic.

Вы можете запустить сценарий генерации полностью из командной строки, но лично мне легче работать с файлом App.Config, чтобы легче было настраивать параметры конфигурации. Настройте проект .Net и настройте файл App.Config на соответствующие параметры. Документацию по App.Config можно найти здесь: http://subsonicproject.com/configuration/config-options/

Вот пример из моего старого проекта:


<?xml version="1.0" encoding="utf-8" \>
<configuration>
    <configSections>
        <section name="SubSonicService" 
            type="SubSonic.SubSonicSection, SubSonic" 
            requirePermission="false"/>
    </configSections>

    <connectionStrings>
        <clear />
        <add name="subTest" 
            connectionString="Data Source=MYCOMP\MICROSOFTSMLBIZ\,56183;Database=someDB;User ID=someId;Password=somePasswrd!"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

    <SubSonicService defaultProvider="subTest">
        <providers>
            <clear/>
            <add name="subTest" 
                type="SubSonic.sqlDataProvider, SubSonic" 
                connectionStringName="subTest"
                generatedNamespace="TerraCognita.Project.Services.DAL"
                includeTableList="^Bug$, ^Person$, ^Groups$, ^Project$, ^TimeInterval$"/>
        </providers>
    </SubSonicService>
</configuration>

Используйте строку подключения, подходящую для вашей БД, и (я полагаю) поставщика, подходящего для базы данных Access. (Вы также можете указать большинство параметров в командной строке, но мне лично проще работать с файлом конфигурации.)

Откройте командную строку, текущей папкой должна быть папка с App.Config. Следующая команда вам нужна:

[Папка установки] \ SubCommander \ sonic.exe [Команда] / out [Имя_файла_ выхода]

Где [Command] может быть сценарием или сценарием. (Существуют дополнительные команды, но они будут вам интересны. Справка также возможна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...