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

Откуда: Москва
Сообщений: 769
bulk insert tblName from 'c:\temp\bulk\flName.txt' with ( codepage=1251)


ошибка
Массовая загрузка невозможна, так как файл "c:\temp\bulk\flName.txt" не удалось открыть. Код ошибки операционной системы 3(Системе не удается найти указанный путь.).

файл есть. если запустить c:\temp\bulk\adStatTab0.txt из cmd - файл открывается.

что может быть? если запрет на bulk insert в SQL
29 июл 14, 17:30    [16372571]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
Glory
Member

Откуда:
Сообщений: 104760
Петр
если запустить c:\temp\bulk\adStatTab0.txt из cmd - файл открывается.

А вы "из cmd" разве запускаете под той же учетной записью, что и bulk insert ?

If a user uses a SQL Server login, the security profile of the SQL Server process account is used.
If a SQL Server user logs on by using Windows Authentication, the user can read only those files that can be accessed by the user account, regardless of the security profile of the SQL Server process.
29 июл 14, 17:33    [16372589]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
Петр
Member

Откуда: Москва
Сообщений: 769
спасибо - именно в этом было дело
29 июл 14, 17:47    [16372646]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
кемпер
Guest
а можно работать с BULK INSERT если не знаешь источник?
вроде

select * into T from
10 дек 14, 14:12    [16977447]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
Glory
Member

Откуда:
Сообщений: 104760
кемпер
если не знаешь источник?

Вы хотите,чтобы сервер нашел файл сам ? Какой-нибудь и где-нибудь ?
10 дек 14, 14:16    [16977470]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
кемпер
Guest
Glory,

нет я указываю имя файла а он сам создаст нужную под него таблицу
10 дек 14, 14:38    [16977634]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
Glory
Member

Откуда:
Сообщений: 104760
кемпер
нет я указываю имя файла а он сам создаст нужную под него таблицу

Вообще то источник - это то, откуда данные поступают, а не куда они попадают.
И во-вторых, select into как раз и делает то, что вы хотите
10 дек 14, 14:41    [16977658]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
кемпер
Guest
Glory,

if OBJECT_ID('tempdb..#test') IS NOT NULL DROP TABLE #test

select
*
into #test
   FROM 'D:\1.csv'
WITH (FORMATFILE='D:\1.csv')


Incorrect syntax near the keyword 'with'. If this statement is a common table expressio
10 дек 14, 14:58    [16977811]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
Glory
Member

Откуда:
Сообщений: 104760
Смешной вы
Вы решили сами придумать синтаксис select ?
http://msdn.microsoft.com/en-us/library/ms190312.aspx
10 дек 14, 15:00    [16977834]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
кемпер
Guest
Glory,

переписал
if OBJECT_ID('tempdb..#test') IS NOT NULL DROP TABLE #test

SELECT a.* 
into #test
FROM OPENROWSET( BULK 'D:\1.csv', 
   FORMATFILE = 'D:\1.csv') AS a;

XML parsing: line 1, character 0, one root element

при чем тут xml?
10 дек 14, 15:32    [16978124]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
Glory
Member

Откуда:
Сообщений: 104760
кемпер
при чем тут xml?

А FORMATFILE по-вашему это что ?
10 дек 14, 15:33    [16978137]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
кемпер
Guest
Glory,

FORMATFILE ='format_file_path'
Указывает полный путь к файлу форматирования. Этот файл форматирования содержит описание файла данных — сведения

про формат ни слова

пробовал вообще удалить тоже ругается
10 дек 14, 15:40    [16978227]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
кемпер
Glory,

FORMATFILE ='format_file_path'
Указывает полный путь к файлу форматирования. Этот файл форматирования содержит описание файла данных — сведения

про формат ни слова

пробовал вообще удалить тоже ругается


читайте дальше, поищите по форуму, тут полно примеров таких файлов
10 дек 14, 15:41    [16978237]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31442
кемпер
про формат ни слова
Есть там слова, и ссылка есть: http://msdn.microsoft.com/en-us/library/ms178129.aspx
10 дек 14, 16:31    [16978649]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
кемпер
Guest
Потыкался вроде разобрался

SELECT * FROM OPENROWSET( BULK 'D:\values.txt',
FORMATFILE = 'D:\values.fmt') AS a

Cannot bulk load because the file "D:\values.fmt" is incomplete or could not be read. Operating system error code (null).

вот файл values.fmt
9.0
2
1 SQLCHAR 0 10 "\t" 1 ID SQL_Latin1_General_Cp437_BIN
2 SQLCHAR 0 40 "\r\n" 2 Description SQL_Latin1_General_Cp437_BIN
10 дек 14, 17:16    [16979011]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
кемпер
Guest
кемпер,

делал по образцу
http://msdn.microsoft.com/ru-ru/library/ms190312.aspx
10 дек 14, 17:17    [16979020]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
Glory
Member

Откуда:
Сообщений: 104760
кемпер
делал по образцу

А ваш диск D: - это диск на сервере ?
10 дек 14, 23:05    [16980646]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
кемпер
Guest
Glory,

Думаю да

Ибо такая конструкция работает

  BULK INSERT t1 
  FROM 'D:\x.csv' 
  WITH (  FIELDTERMINATOR = ';',   ROWTERMINATOR = '\n') 
11 дек 14, 09:03    [16981440]     Ответить | Цитировать Сообщить модератору
 Re: bulk insert - не видит файла  [new]
Glory
Member

Откуда:
Сообщений: 104760
кемпер
Думаю да.Ибо такая конструкция работает

И где в этой конструкции упоминается D:\values.fmt ?
11 дек 14, 09:21    [16981491]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить