Перенос данных с SQL Server на mysql с помощью вставок

Я пытаюсь перенести данные из SQL Server в mysql, и я хотел бы сделать это с помощью операторов вставки, поэтому я изменил этот хороший скрипт от Нараяны Вьяс Кондредди для генерации кода, дружественного к mysql, и до сих пор все работает нормально.

проблема заключается в столбцах типа данных TEXT, которые могут иметь длину более 8000 символов (содержащие длинные блоки текстов), и поскольку сценарий использует varchar (8000) для накопления каждой строки сценария, которую я терплю неудачу, когда данные становятся слишком длинными.

какие-нибудь хорошие предложения по инструментам, которые позволяют мне делать то же самое, или какое-либо предлагаемое решение? или, может быть, проще написать свой собственный экспортер с ado.net..

я попробовал набор инструментов миграции mysql и не получил успешного результата.


Редактировать: в итоге я написал свой собственный генератор вставок, используя ado.net, он доступен по адресу: mysql-framework svn, если кому интересно.


person possan    schedule 13.01.2010    source источник


Ответы (1)


Вы можете расширить varchar до 65535 байт (MySQL 5.0 и выше), поэтому простым решением может быть изменение определения переменной @Actual_Values ​​в сценарии от Нараяны Вьяса Кондредди...

--Variable declarations
DECLARE     @Column_ID int,         
        @Column_List varchar(8000), 
        @Column_Name varchar(128), 
        @Start_Insert varchar(786), 
        @Data_Type varchar(128), 
        @Actual_Values varchar(65535),  --This is the string that will be finally executed to generate INSERT statements
        @IDN varchar(128)       --Will contain the IDENTITY column's name in the table
person Steve De Caux    schedule 13.01.2010
comment
проблема в том, что скрипты работают на mssql (2005) и поддерживают только 8000 символов. :/ - person possan; 13.01.2010
comment
это облом, извините, я не могу быть более полезным - person Steve De Caux; 13.01.2010