Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Sybase ASA, ASE, IQ Новый топик    Ответить
 ошибка в Sybase IQ - SQL Anywhere Error -1013045: An invalid file name  [new]
Zeke
Member

Откуда:
Сообщений: 222
Здравствуйте!

у конструкции Load Table в синтаксисе можно указать filename-variable, то есть

LOAD [ INTO ] TABLE [ owner.]table-name
... ( load-specification [,] )
... { FROM | USING [ CLIENT ] FILE }
SQL Statements
Reference: Statements and Options 241
{ 'filename-string' | filename-variable } [,]


я пытаюсь писать вместо

load table [DATA_tmp]
(
[D_ID]                          null(blanks),
[D_TYPE]                      null(blanks),
[ADDRESS]  '\x0d\x0a'  null(blanks)
)
using client file 'D:\\EXPORT_DATA\\31082016_PART1.TXT'
quotes off
escapes off


вот это

set v_filepath = 'D:\\EXPORT_DATA\\31082016_PART1.TXT';
....
load table [DATA_tmp]
(
[D_ID]                          null(blanks),
[D_TYPE]                      null(blanks),
[ADDRESS]  '\x0d\x0a'  null(blanks)
)
using client file v_filepath
quotes off
escapes off

и получаю ошибку постоянно
SQL Anywhere Error -1013045: An invalid file name ('') was specified for a LOAD TABLE. The file name has zero length
Пробовал и по-разному путь указывать и с кавычками, и без, но тщетно все :(
Может кто-нибудь пытался делать load table через переменную, в которой хранится имя файла?
14 ноя 16, 17:41    [19892614]     Ответить | Цитировать Сообщить модератору
 Re: ошибка в Sybase IQ - SQL Anywhere Error -1013045: An invalid file name  [new]
Zeke
Member

Откуда:
Сообщений: 222
Короче, как workaround, можно весь текст команды load table засунуть в переменную и выполнить через execute immediate. По-другому эта фигня просто не работает
15 ноя 16, 14:56    [19896219]     Ответить | Цитировать Сообщить модератору
Все форумы / Sybase ASA, ASE, IQ Ответить