|
Миграция дынных
|
|||
---|---|---|---|
#18+
Здравствуйте. Подскажите как можно произвести выгрузку таблицы из mssql для импорта в другую БД (Postgresql) Учитывая что в таблице помимо прочих данных (число, строка,...) хранятся файлы. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2021, 16:10 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
А в каком виде они там хранятся? Если в бинарном, и речь идет о перезагрузке именно через файлы экспорта - импорта, а не прямой вставке на прилинкованный сервер - то можно выгрузить csv, например. А хранящиеся файлы - в виде строк base64. Там, правда проблемы будут, если размер каждого файла под гигабайт, но тут тады ой. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2021, 16:14 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
uaggster, DataType (SystemType) - IMAGE Размер каждого из файлов не велик, возможно до 3 Мб. Все суммарно дадут порядка 14 Гб (точнее не все, а отобранные для выгрузки) Соответственно файл должен помимо своего имени иметь и уникальный идентификатор, того к какой записи он принадлежал. Может идентификатор это имя папки, в которой будут лежать эти вложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2021, 16:25 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
Ну, тогда вообще не проблема. Пишете запрос, который возвращает два столбца - ID и FILE. ID - синтезируете как хотите, FILE - вот так: https://olontsev.ru/2013/06/convert-to-base64-and-back/ И потом вытаскиваете через SSIS в файл. Но, наверняка это можно напрямую сделать, опять же используя SSIS. См. тут: https://docs.microsoft.com/ru-ru/sql/integration-services/import-export-data/connect-to-a-postgresql-data-source-sql-server-import-and-export-wizard?view=sql-server-ver15 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.09.2021, 16:39 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
uaggster, Есть пара особенностей. 1) вложения, хранящиеся в БД (MSSQL на Windows) в поле 'DATA', в зависимости от размера файла могут хранится в нескольких строках таблицы. Строки, соответственно, отличаются значением в ячейках DATA и SEGMENT (принимает значения 0, 1, 2, 3,...). 2) Конечная БД PostgreSQL на CenOS, но это не важно, потому что импорт данных будет производится через приложение (использующее эту БД). 3) Для одного и того же ID могут быть "вложены" файлы с одним и тем же именем. Поэтому при сохранении на диск вложений в папку по имени ID могут возникнуть проблемы. (но такой вариант сохранения кажется наиболее удобным) А в целом рассматриваемая таблица содержит такие поля как (из тех что могут быть важны для процесса выгрузки): ID - уникальный идентификатор записи связанный с вложением (т.е. повторяется для всех сегментов одного вложения и для разных вложений к этой же записи) FILENAME - имя вложенного файла. DATA - сам файл. SEGMENT - порядковый номер сегмента, на которые разбит файл в базе. UID - уникальный идентификатор вложения. (повторяется для каждого сегмента одного вложения) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 09:23 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
MSSQL - management studio 2008 r2 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 09:47 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
Удалось сделать выгрузку файлов на диск (через приложение использующее данную БД). Но к сожалению имена созданных(выгруженных) папок/файлов имеют не верную кодировку (1251), касается русских символов в именах, вручную переводил имя файла/папки в utf-8 и все становилось правильным. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 10:55 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
ALARMus, в Постгресе разве нет средств импорта? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 20:15 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
Владислав Колосов, подкол засчитан. psql - это тамошнее всё. читаем про copy from и пишем портянки кода. Если вы не наши какой-то функционал в postgresql или что-то вас не устраивает, то вы всегда можете дописать всё самостоятельно, благо субд поставляется в исходниках (с) знакомый любитель postgresql :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 22:52 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
Владислав Колосов ALARMus, в Постгресе разве нет средств импорта? Понятия не имею. Мы у себя не использовали Постгрес. А теперь волна импортозамещения выдвигает свои требования. И на самом деле постгрес на стороне подрядчика, который требует от нас выгрузку данных из нашей текущей системы (mssql), чтобы вгрузить в постгрес. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 10:26 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
ALARMus, попробуйте экспорт через Postgres OLE DB Provider и средства SSIS. https://docs.microsoft.com/RU-RU/sql/integration-services/import-export-data/connect-to-a-postgresql-data-source-sql-server-import-and-export-wizard?view=sql-server-2016 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 14:43 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
Владислав Колосов ALARMus, попробуйте экспорт через Postgres OLE DB Provider и средства SSIS.... Спасибо за ответ. Я выгрузку то сделал, средствами приложения, единственно русские символы (в именах файлов и папок) сохранились не в той кодировке (1251 вместо utf-8) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 15:21 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
ALARMus И на самом деле постгрес на стороне подрядчика, который требует от нас выгрузку данных из нашей текущей системы (mssql), чтобы вгрузить в постгрес. В этом случае есть неплохой вариант сделать копию БД, вырезать из неё ненужное и бекап слить подрядчику, чтобы сам развлекался. MSSQL Developer Edition с полным комплектом софта качается подрядчиком бесплатно. Если бекап не проканывает, то из студии generate scripts с опцией схема и данные. Ну и пусть файлик будет 50+ Гиг, зато хорошо заархивируется и можно будет переправить страждущим. Соответственно, с вашей стороны пули вылетели... А кодировки postgre кушает любые, в том числе и win1251, надо базу создать с такой кодировкой и грузить в неё данные. Хотя не совсем понятно, что такое "русские символы (в именах файлов и папок) сохранились не в той кодировке (1251 вместо utf-8)"? Выгрузку под linux что ли делаете из базы на диск? Тогда если софтина путается в кодировках, то либо её править, либо искать другие средства. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 19:28 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
andy st ALARMus И на самом деле постгрес на стороне подрядчика, который требует от нас выгрузку данных из нашей текущей системы (mssql), чтобы вгрузить в постгрес. В этом случае есть неплохой вариант сделать копию БД, вырезать из неё ненужное и бекап слить подрядчику, чтобы сам развлекался . MSSQL Developer Edition с полным комплектом софта качается подрядчиком бесплатно. Если бекап не проканывает, то из студии generate scripts с опцией схема и данные. Ну и пусть файлик будет 50+ Гиг, зато хорошо заархивируется и можно будет переправить страждущим. Соответственно, с вашей стороны пули вылетели... А кодировки postgre кушает любые, в том числе и win1251, надо базу создать с такой кодировкой и грузить в неё данные. Хотя не совсем понятно, что такое "русские символы (в именах файлов и папок) сохранились не в той кодировке (1251 вместо utf-8)"? Выгрузку под linux что ли делаете из базы на диск? Тогда если софтина путается в кодировках, то либо её править, либо искать другие средства. Т.е. с самого начала темы ни слова о версии SQL Server, зачем-то написано "MSSQL - management studio 2008 r2", но мы категорично уверены, что гад-подрядчик "чтобы сам развлекался. MSSQL Developer Edition с полным комплектом софта качается подрядчиком бесплатно ." - эх, хорошо же как..... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 10:35 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
Ролг Хупин Т.е. с самого начала темы ни слова о версии SQL Server, зачем-то написано "MSSQL - management studio 2008 r2", но мы категорично уверены, что гад-подрядчик "чтобы сам развлекался. MSSQL Developer Edition с полным комплектом софта качается подрядчиком бесплатно ." - эх, хорошо же как..... а Вы - тот самый ленивый подрядчик, которому надо всё готовенькое? :) тут, канешна, как договорились и кто на что подписался. я просто варианты накидал... и вот не пофигу какая версия mssql, ssms 2008 работает с органиченным набором версий, но все их бекапы так или иначе догоняются до актуальной, в худшем случае в пару шагов. вопрос в компетенциях подрядчика... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 10:49 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
andy st Ролг Хупин Т.е. с самого начала темы ни слова о версии SQL Server, зачем-то написано "MSSQL - management studio 2008 r2", но мы категорично уверены, что гад-подрядчик "чтобы сам развлекался. MSSQL Developer Edition с полным комплектом софта качается подрядчиком бесплатно ." - эх, хорошо же как..... а Вы - тот самый ленивый подрядчик, которому надо всё готовенькое? :) тут, канешна, как договорились и кто на что подписался. я просто варианты накидал... и вот не пофигу какая версия mssql , ssms 2008 работает с органиченным набором версий, но все их бекапы так или иначе догоняются до актуальной, в худшем случае в пару шагов. вопрос в компетенциях подрядчика... Правильно, не читайте вопросы, сразу отвечайте что-то персональное, и вот это круто "и вот не пофигу какая версия mssql" - извините, не мог даже предположить, что-то я лишнего хватонул. Ну и туда же про "MSSQL Developer Edition с полным комплектом софта качается подрядчиком бесплатно " Продолжайте, читаю с интересом ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 10:56 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
Чорт, я это что ли пропустил? авторКонечная БД PostgreSQL на CenOS, но это не важно, потому что импорт данных будет производится через приложение (использующее эту БД). Тогда удаляйте всю мою писанину, был пьян. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 12:51 |
|
Миграция дынных
|
|||
---|---|---|---|
#18+
andy st Чорт, я это что ли пропустил? авторКонечная БД PostgreSQL на CenOS, но это не важно, потому что импорт данных будет производится через приложение (использующее эту БД). Тогда удаляйте всю мою писанину, был пьян. нет, уж , миграция дынных будет теперь продолжаться! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2021, 12:30 |
|
|
start [/forum/topic.php?fid=46&fpage=13&tid=1684240]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
24ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 282ms |
total: | 400ms |
0 / 0 |