2010-07-22 2 views
0

Я работаю над SQL Server 2000. Как вы знаете, есть приложение, показывающее результаты запроса (Query Analyzer). Данные отображаются там, на сетке, и вы можете сохранить эту сетку в csv-файле. Замечательно.SQL Server: импорт и экспорт CSV

Теперь я хочу ВСТАВИТЬ эти значения csv в таблицу. Предоставляет ли SQL Server какой-либо метод? И я имею в виду автоматические или полуавтоматические методы (например, когда вы читаете Excel из Query Analyzer). Потому что, например, с большой вставкой я могу это сделать, но это требует много работы.

Я рассматриваю возможность разработки приложения, которое делает это (возможно, на python). Но я не хочу, если что-то еще существует.

ответ

0

Если вам просто нужен импорт/импорт CSV, я бы использовал BCP. Это намного быстрее, его легче использовать для этих требований (по крайней мере, на мой взгляд).

1

Если вы уже знаете, как импортировать из Excel, вы можете открыть .CSV-файлы в Excel и сохранить их как .xls после завершения преобразования.

+0

Hell yeah! Не то, что я ищу, но спасибо. – mRt

3

Для этого можно использовать DTS SSIS .

DTS - это то, что вы хотите использовать для SQL Server 2000 (как следует из комментариев ниже).

Я считаю, что вы также можете скопировать пасту непосредственно из таблицы в таблицу, если вы не пытаетесь сделать что-то слишком необычное. Я не сделал этого через некоторое время, поэтому вам придется дважды проверить.

+0

На самом деле в SQL Server 2000 они назывались DTS - Data Transformation Services –

+0

Упс! Спасибо за хэдз-ап. Исправленный. –

1

Почему вы вообще создаете файл csv, почему бы просто не вставить результаты своей инструкции selct? Предположим, что выбор вы использовали для создания CSV был:

select a.field1, b.field2 
from anothertable a 
join yetanothertable b on a.myid = b.myid 

почему бы не просто сделать:

insert mytable (field1, field2) 
select a.field1, b.field2 
from anothertable a 
join yetanothertable b on a.myid = b.myid 

Если у вас действительно есть CSV-файл для импорта, вы можете сделать это с помощью мастера импорта, если он это одноразовая сделка или пакет DTS, если это повторяемый процесс, который вы хотите сделать в обычном расписании.

+0

Потому что это не так. Мне нужно экспортировать данные. Много причин. Фактически, я делаю то, что вы предложили, в других случаях (когда мне нужно) даже с двух разных серверов (используя opendatasource). Но то, о чем я прошу, это другое. – mRt

Смежные вопросы