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

Откуда: Где где .. в караганде
Сообщений: 532
Добрый день.
Подсткажите как можно подставить переменную с именем файла в BULK Insert ?
29 июл 09, 10:47    [7472373]     Ответить | Цитировать Сообщить модератору
 Re: BULK Insert передача имени файла - как параметра  [new]
Glory
Member

Откуда:
Сообщений: 104760
Сформировать текст всей команды в переменнрй и выполнить как динамический запрос
29 июл 09, 10:52    [7472404]     Ответить | Цитировать Сообщить модератору
 Re: BULK Insert передача имени файла - как параметра  [new]
mr.dfox
Member

Откуда: Где где .. в караганде
Сообщений: 532
Glory,

Да я пробовал так и сделать, но он ругаеться и говорит
Could not find server 'BULK INSERT tenders_era' in sysservers. Execute sp_addlinkedserver to add the server to sysservers.

Вот же сгенерированный текст выполняю отдельно в QA все нормально проходит :((
29 июл 09, 11:55    [7472899]     Ответить | Цитировать Сообщить модератору
 Re: BULK Insert передача имени файла - как параметра  [new]
mr.dfox
Member

Откуда: Где где .. в караганде
Сообщений: 532
Т.е.

Вот сам текст:
DECLARE @cmd varchar(300)
SET @cmd= 'BULK INSERT tenders_era.dbo.c_imp_ifs_crpprc  FROM '+'''c:\Export\27072009_1.csv'''+ 
' With (FIELDTERMINATOR= '+''';'+''''+')';
SELECT @cmd
EXEC @cmd

Получаю:

BULK INSERT tenders_era.dbo.c_imp_ifs_crpprc FROM 'c:\Export\27072009_1.csv' With (FIELDTERMINATOR= ';')

(1 row(s) affected)

Server: Msg 7202, Level 11, State 2, Line 7
Could not find server 'BULK INSERT tenders_era' in sysservers. Execute sp_addlinkedserver to add the server to sysservers.

Затем выполняю: BULK INSERT tenders_era.dbo.c_imp_ifs_crpprc FROM 'c:\Export\27072009_1.csv' With
в QA ..все замечательно проходит.
29 июл 09, 11:59    [7472929]     Ответить | Цитировать Сообщить модератору
 Re: BULK Insert передача имени файла - как параметра  [new]
Glory
Member

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

Да я пробовал так и сделать, но он ругаеться и говорит
Could not find server 'BULK INSERT tenders_era' in sysservers. Execute sp_addlinkedserver to add the server to sysservers.

Вот же сгенерированный текст выполняю отдельно в QA все нормально проходит :((

Это значит, что вы неправильно сгенерировали текст команды
29 июл 09, 11:59    [7472934]     Ответить | Цитировать Сообщить модератору
 Re: BULK Insert передача имени файла - как параметра  [new]
Glory
Member

Откуда:
Сообщений: 104760
EXEC(@cmd) - динамический запрос вызывался всегда так
29 июл 09, 12:00    [7472944]     Ответить | Цитировать Сообщить модератору
 Re: BULK Insert передача имени файла - как параметра  [new]
mr.dfox
Member

Откуда: Где где .. в караганде
Сообщений: 532
Glory
EXEC(@cmd) - динамический запрос вызывался всегда так


Действительно
Glory, спасибо..
29 июл 09, 12:22    [7473108]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить