Импорт плоского файла в существующую таблицу с другими именами столбцов

Я не уверен, что мои навыки работы с Google подводят меня, но какое-то время это меня беспокоило.

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

Я хочу импортировать file.txt в dbo.supplier следующим образом:

Адрес1> улица

Имя поставщика> name1

и так далее, но это также должен быть ночной автоматизированный сценарий.

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

ЕСЛИ имена столбцов в каждом файле разные, как вы сопоставите их с правильными столбцами базы данных?

Ryan Wilson 13.09.2018 16:07

Какая редакция SQL Server? Если у вас есть что-то, кроме LocalDB или SQL Express, вы можете использовать службы интеграции SQL Server, чтобы создать для этого пакет, а затем запланировать его на ночь с помощью задания агента SQL. В SSIS есть механизмы, позволяющие создавать сопоставления столбцов во время импорта.

squillman 13.09.2018 16:15

Изменяются ли имена этих столбцов без предупреждения, или вы знаете, какие имена они будут иметь в каждом файле?

Tab Alleman 13.09.2018 16:15

Если у вас есть предопределенный список возможных имен столбцов в плоских файлах, вы можете запустить какой-нибудь сценарий, чтобы переименовать их перед импортом SQL. Просто просмотрите все возможные имена и замените их фактическими именами столбцов таблицы.

DavidP 13.09.2018 16:30

Вы также можете создать пакет SSIS с помощью мастера импорта и экспорта SQL Server, а затем настроить Powershell или пакетный файл для вызова DTExec, если агент SQL недоступен (SQL Express). Просто посмотрите права доступа к учетной записи, на которой запущен пакетный / PS-скрипт.

Bruce 13.09.2018 16:36

SSIS может предоставить вам эту функцию, это также даст вам возможность на лету давать имена столбцам. Просто воссоздайте свою таблицу каждый раз, когда она запускается, используя задачу выполнения TSQL.

jimmy8ball 13.09.2018 16:59

Я слышу сверчков, лол ...

Ryan Wilson 13.09.2018 17:13

Альтернатива SSIS: используйте встроенную команду массового копирования SQL Server, чтобы импортировать файл как есть в создаваемую вами промежуточную таблицу. Затем используйте стандартный SQL INSERT со списком столбцов, чтобы повторно сопоставить столбцы. Вот две ссылки на простые руководства, которые помогут вам начать работу. Вы можете найти в Google дополнительные сайты: lifewire.com/importing-and-exporting-sql-server-data-1019806 и techrepublic.com/blog/the-enterprise-cloud/…

Victor Di Leo 13.09.2018 17:19

@TabAlleman - нет, столбцы статичны, но однажды мне нужно импортировать X-файл с X-столбцами, а на следующий день мне нужно импортировать Y-файл с Y-столбцами, оба в одну таблицу.

daiv_ 16.09.2018 20:31

@VictorDiLeo - спасибо за это, я думаю, это может быть способ сделать это! Не имея реального опыта работы с SQL, я пытаюсь понять, как его обойти, и это очень помогает, и я расскажу, как я справляюсь.

daiv_ 16.09.2018 20:33

@DavidP - Я рад, что у меня есть сценарий X для файла X, сценарий Y для файла Y и так далее, я не ожидал, что 1 сценарий будет импортировать все сценарии, плюс я думаю, что это было бы слишком сложным решением для меня: - )

daiv_ 16.09.2018 20:35

@ jimmy8ball - Мне нужно обновить таблицу новой информацией на основе файла X с X столбцами и файла Y с Y столбцами, удаление и воссоздание таблицы при каждом импорте не вариант!

daiv_ 16.09.2018 20:36

@daiv_ воссоздание вашей основной таблицы при каждом импорте может не быть вариантом, но, возможно, стоит рассмотреть возможность использования отдельной промежуточной таблицы для импорта и объединения данных в вашу основную таблицу. Промежуточную таблицу можно каждый раз удалять и воссоздавать, не затрагивая основную таблицу.

DavidP 19.09.2018 16:20
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
13
156
0

Другие вопросы по теме