Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 csv файл  [new]
Doggas
Member

Откуда:
Сообщений: 226
Добрый день всем. Хочу через сохраненную процедуру написать вставку данных из csv файла в готовую таблицу. Полазив по ссылкам написала так:
CREATE PROCEDURE [dbo].[Сравнение_insert] AS

SELECT *
INTO dbo.СравнениеОтчетов_
FROM OPENROWSET ('MSDASQL','Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=C:\WORK;
Extended Properties=TEXT'
,'select * from 1.csv')

Выдает ошибку:
Server: Msg 7399, Level 16, State 1, Procedure СТП_СравнениеОтчетов_insert, Line 3
OLE DB provider 'MSDASQL' reported an error.
[OLE/DB provider returned message: [Microsoft][Драйвер ODBC Текст]Недопустимый атрибут строки подключения Extended Properties]
[OLE/DB provider returned message: [Microsoft][Драйвер ODBC Текст]Недопустимый атрибут строки подключения Extended Properties]
[OLE/DB provider returned message: [Microsoft][Драйвер ODBC Текст]Недопустимый атрибут строки подключения Extended Properties]
[OLE/DB provider returned message: [Microsoft][Драйвер ODBC Текст]Недопустимый атрибут строки подключения Extended Properties]
[OLE/DB provider returned message: [Microsoft][Драйвер ODBC Текст]Недопустимый атрибут строки подключения Extended Properties]
[OLE/DB provider returned message: [Microsoft][Драйвер ODBC Текст]Недопустимый атрибут строки подключения Extended Properties]
[OLE/DB provider returned message: [Microsoft][Драйвер ODBC Текст]Недопустимый атрибут строки подключения Extended Properties]
[OLE/DB provider returned message: [Microsoft][Драйвер ODBC Текст] Строка '(нет данных)' задает ошибочный путь. Проверьте, что путь задан правильно и имеется подключение к серверу, на котором находятся файлы.]
OLE DB error trace [OLE/DB Provider 'MSDASQL' IDBInitialize::Initialize returned 0x80004005: ].


dbo.СравнениеОтчетов_ - ТАБЛИЦА созданная при ручном импорте данных из этого файла. Помогите, в чем проблема??
6 июл 09, 13:24    [7380471]     Ответить | Цитировать Сообщить модератору
 Re: csv файл  [new]
Glory
Member

Откуда:
Сообщений: 104760
Doggas
dbo.СравнениеОтчетов_ - ТАБЛИЦА созданная при ручном импорте данных из этого файла. Помогите, в чем проблема??

А тексты сообщений недостаточно информативны ?
6 июл 09, 13:29    [7380522]     Ответить | Цитировать Сообщить модератору
 Re: csv файл  [new]
Владимир Сосницкий
Member

Откуда: Запорожье, Украина
Сообщений: 12
а обязательно ли импорт CSV через хранимку ?
почему не использовать DTS пакет ?
проще писать, не нужно гимороиться с путями и прочие вкусности
6 июл 09, 13:32    [7380560]     Ответить | Цитировать Сообщить модератору
 Re: csv файл  [new]
Doggas
Member

Откуда:
Сообщений: 226
Glory, не судите строго, могу делать только несложные запросы.. Я так понимаю по ошибке, что атрибут Extended Properties=TEXT' задан неправильно...
6 июл 09, 13:36    [7380593]     Ответить | Цитировать Сообщить модератору
 Re: csv файл  [new]
Doggas
Member

Откуда:
Сообщений: 226
Владимир Сосницкий,
не подскажите как это выглядит?
6 июл 09, 13:36    [7380598]     Ответить | Цитировать Сообщить модератору
 Re: csv файл  [new]
Doggas
Member

Откуда:
Сообщений: 226
Вообще суть в том, что мне надо закидывать в таблицу данные их csv файла, чтобы потом с таблицей делать разные запросы. Пыталась в VBS на клиенте писать через DoCmd.TransferText acImportDelim, но под администратором все проходит гладко и быстро. А у пользователя проблемы. Можно конечно дать ему прав побольше.... но чревато - может наделать много нехороших вещей в базе. Поэтому подумала что можно сделать через хранимку..
6 июл 09, 13:39    [7380622]     Ответить | Цитировать Сообщить модератору
 Re: csv файл  [new]
Glory
Member

Откуда:
Сообщений: 104760
Doggas
Glory, не судите строго, могу делать только несложные запросы.. Я так понимаю по ошибке, что атрибут Extended Properties=TEXT' задан неправильно...

А убрать Extended Properties=TEXT типа что мешает ?
6 июл 09, 13:40    [7380632]     Ответить | Цитировать Сообщить модератору
 Re: csv файл  [new]
Doggas
Member

Откуда:
Сообщений: 226
Glory,

SELECT *
INTO dbo.СТП_СравнениеОтчетов
FROM OPENROWSET ('MSDASQL','Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=C:\WORK\;','select * from 1.csv')

теперь ошибка покороче:
Server: Msg 7399, Level 16, State 1, Procedure СТП_СравнениеОтчетов_insert, Line 3
OLE DB provider 'MSDASQL' reported an error.
[OLE/DB provider returned message: [Microsoft][Драйвер ODBC Текст] Строка '(нет данных)' задает ошибочный путь. Проверьте, что путь задан правильно и имеется подключение к серверу, на котором находятся файлы.]
OLE DB error trace [OLE/DB Provider 'MSDASQL' IDBInitialize::Initialize returned 0x80004005: ].
6 июл 09, 13:42    [7380651]     Ответить | Цитировать Сообщить модератору
 Re: csv файл  [new]
Glory
Member

Откуда:
Сообщений: 104760
И вы сделали "Проверьте, что путь задан правильно и имеется подключение к серверу, на котором находятся файлы" ? И как именно сделали ?
6 июл 09, 13:43    [7380667]     Ответить | Цитировать Сообщить модератору
 Re: csv файл  [new]
Doggas
Member

Откуда:
Сообщений: 226
Glory,

исправила, перенесла файл на сервер. все получается. А если надо файл брать не с сервера, а с локального ПК? то есть если написать C:\ - уже не получится я так понимаю (то есть sql понимает что диск С сервера, на котором он установлен)??
6 июл 09, 13:53    [7380748]     Ответить | Цитировать Сообщить модератору
 Re: csv файл  [new]
Glory
Member

Откуда:
Сообщений: 104760
Doggas
Glory,

исправила, перенесла файл на сервер. все получается. А если надо файл брать не с сервера, а с локального ПК? то есть если написать C:\ - уже не получится я так понимаю (то есть sql понимает что диск С сервера, на котором он установлен)??

Разумеется, что сервера, как для процесса запущенного на другой машине, нет никакого дела до локальных дисков вашей рабочей станции. И все пути от вычисляет относительно своей машины.
6 июл 09, 13:55    [7380770]     Ответить | Цитировать Сообщить модератору
 Re: csv файл  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
SELECT *
INTO dbo.СТП_СравнениеОтчетов
FROM OPENROWSET ('MSDASQL','Driver={Microsoft Text Driver (*.txt; *.csv)};
DefaultDir=\\server\Sharefolder;','select * from 1.csv')

только проверте чтоб права на шару біли
-------------------------------------
Jedem Das Seine
6 июл 09, 13:56    [7380787]     Ответить | Цитировать Сообщить модератору
 Re: csv файл  [new]
quazare
Member

Откуда: Новосибирск
Сообщений: 480
советую "разобрать" csv, скопировать в массив и инсертить в таблицу.
7 июл 09, 10:01    [7384339]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить