2012-01-05 1 views
1

Как импортировать таблицу в базу данных из текстового файла, когда эта таблица имеет/в именах столбцов?SQL Server 2008 R2: импортировать таблицу из текстового файла, когда имена столбцов имеют/в них

У меня есть таблица SQL Server 2008 R2 с столбцами, которые имеют/'s в их имени. (База данных SAP) Например:/BIC/FIC_SD001 имеет столбец с именем/BIC/O_CST_00

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

Когда я импортирую таблицу в другую базу данных (используя мастер), все/из столбца удаляются и заменяются пробелами. Вышеуказанная колонка теперь выглядит так: BIC 0_CST_00

Заранее благодарю вас за помощь!

ответ

1

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

+0

Вы правы, что это сработает, но у меня есть 20 таблиц со 40 столбцами в таблице, которые похожи на это. Я должен был быть более конкретным в вопросе, знаете ли вы о сценарии/автоматическом способе сделать это? –

+0

Нет, я не могу придумать автоматическое решение. На самом деле это явно ошибка, и я думаю, вы должны поговорить напрямую с Microsoft. – olmed0

1

Вы можете использовать BCP Utility для импорта или экспорта данных с сервера sql в текстовый файл или наоборот.

BCP Database.TableName out "Location of the text file " -c -S ServerName -T 

Приведенная выше команда будет загружать данные из таблицы SQL сервера для плоского файла

Чтобы загрузить данные из плоского файла на сервер SQL команда выглядит следующим образом: -

BCP Database.TableName in "Location of the text file " -c -S ServerName -T 

Вышеуказанные 2 команды будут работать для проверки подлинности Windows

+0

Я пробовал BCP bwq./BIC/FIC_SD001 вне "c: \ temp \ sd001" -c -S -T и BCP bwq. "/ BIC/FIC_SD001" out "c: \ temp \ sd001" -c -S -T. Оба получат ошибку: при обработке командной строки произошла ошибка. Постскриптум Я поставил фактическое имя сервера для

+0

Если у вас есть доверенное соединение с сервером, вы можете удалить флаг -S. В противном случае попробуйте -S без пробелов. Например: -Smyserver – olmed0

+0

Пример команды BCP out для базы данных Adventure Work, имеющей проверку подлинности Windows, выглядит следующим образом: BCP AdventureWorksLT.SalesLT.Address out «C: \ temp \ sd001» -c -S CBR-DEL1156 \ SQL2005 -T Вы будете получите эту ошибку, если вы не правильно напишите базу данных, схему и имя таблицы. – praveen