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

Откуда:
Сообщений: 358
Подскажите, мне надо написать что типа такого запроса
select * from Table t
where ID in ( этот id должен браться из файла, вот только какого формата должен быть файл, и как правильно написать команду???)
14 июл 05, 08:51    [1702423]     Ответить | Цитировать Сообщить модератору
 Re: Как взять данные из файла для запроса??  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35396
Блог
Например так
SELECT *
  FROM [TABLE] AS T
  WHERE T.[ID] IN (SELECT [ID]
                     FROM OPENROWSET('MSDASQL',
                                     'Driver={Microsoft Visual FoxPro Driver};UID=;SourceDB=<ПУТЬ К ФАЙЛУ(БЕЗ ИМЕНИ)>;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Russian;Null=No;Deleted=No;',
                                     'SELECT * FROM <ИМЯ ФАЙЛА>'))
14 июл 05, 08:58    [1702440]     Ответить | Цитировать Сообщить модератору
 Re: Как взять данные из файла для запроса??  [new]
DenDY
Member

Откуда:
Сообщений: 358
Ошибка, отсутствует правая скобка!
Скобок то нормально!! Че за фигня??
14 июл 05, 10:28    [1702824]     Ответить | Цитировать Сообщить модератору
 Re: Как взять данные из файла для запроса??  [new]
DenDY
Member

Откуда:
Сообщений: 358
Написал следующее
select * from TABLE t
where t.id in (select id from openrowset ('MSDASQL','Driver={Microsoft Visual FoxPro Driver};UID=;SourceDB=<C:\>;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Russian;Null=No;Deleted=No;','SELECT * FROM <den>'))

ОШИБКА НЕТ ПРАВОЙ СКОБКИ! КАК НЕТ, КОГДА ЕСТЬ!! В ЧЕМ ОШИБКА??
15 июл 05, 06:32    [1706353]     Ответить | Цитировать Сообщить модератору
 Re: Как взять данные из файла для запроса??  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
У меня выскочила ошибка

Server: Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'TABLE'.

Наверное из-за ключевого слова TABLE. Попробуйте взять его в квадратные скобки.
Кстати, select @@version что вернет?
15 июл 05, 06:40    [1706355]     Ответить | Цитировать Сообщить модератору
 Re: Как взять данные из файла для запроса??  [new]
DenDY
Member

Откуда:
Сообщений: 358
tpg
У меня выскочила ошибка

Server: Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'TABLE'.

Наверное из-за ключевого слова TABLE. Попробуйте взять его в квадратные скобки.
Кстати, select @@version что вернет?



Вы не поняли! у меня табл не называется TABLE. это я ее так просто обозначил! Ошибка
ORA00907: Отсутсвует правая скобка
15 июл 05, 06:43    [1706357]     Ответить | Цитировать Сообщить модератору
 Re: Как взять данные из файла для запроса??  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
А про версию?
Да и запрос в оригинале хотелось бы увидеть - судя по ORA00907 линкед сервер оракульный, а базе знаний проскакивала статья о кривости дров к оракулю и как её победить.
15 июл 05, 06:46    [1706358]     Ответить | Цитировать Сообщить модератору
 Re: Как взять данные из файла для запроса??  [new]
DenDY
Member

Откуда:
Сообщений: 358
оригинал
select * from payment t
where t.client_id in (select client_id from openrowset ('MSDASQL','Driver={Microsoft Visual FoxPro Driver};UID=;SourceDB=<C:\>;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Russian;Null=No;Deleted=No;','SELECT * FROM <den>'))

Он мало чем отличается от условного примера:)...

Если набрать select @@version выдает ошибку ora00936:отсутсвует выражение
15 июл 05, 06:55    [1706362]     Ответить | Цитировать Сообщить модератору
 Re: Как взять данные из файла для запроса??  [new]
DenDY
Member

Откуда:
Сообщений: 358
версия оракла 9
15 июл 05, 06:55    [1706363]     Ответить | Цитировать Сообщить модератору
 Re: Как взять данные из файла для запроса??  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Хм... Так мы про оракуль говорим или про сиквел? Если вы делаете линкед сервер в оракле, то вам в этом форуме вряд ли помогут. Тут рядышком есть специализированный.
15 июл 05, 07:00    [1706367]     Ответить | Цитировать Сообщить модератору
 Re: Как взять данные из файла для запроса??  [new]
DenDY
Member

Откуда:
Сообщений: 358
Напишите, мне плиз как это делается в sql - т.е берутся данные из файла для выборки, а я сам уже добъю, до oracle. У меня стоит тут локально sql, точно такая же база, поэтому проверить смогу, но а переделать запрос под oracle не думаю что сложно будет
15 июл 05, 07:13    [1706373]     Ответить | Цитировать Сообщить модератору
 Re: Как взять данные из файла для запроса??  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Ну, так и попробуйте на локальном сиквеле то. Пример как раз для сиквела с линком к фоксовому файлу.
15 июл 05, 07:18    [1706377]     Ответить | Цитировать Сообщить модератору
 Re: Как взять данные из файла для запроса??  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35396
Блог
<> - убрать из пути, и из SELECT...
)))
15 июл 05, 09:06    [1706457]     Ответить | Цитировать Сообщить модератору
 Re: Как взять данные из файла для запроса??  [new]
DenDY
Member

Откуда:
Сообщений: 358
Критик
<> - убрать из пути, и из SELECT...
)))

убрал - эффект тот же
15 июл 05, 12:49    [1707647]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Как взять данные из файла для запроса??  [new]
djonny30s39
Guest
DECLARE @xml XML
SET @xml = (
SELECT * FROM OPENROWSET (
BULK 'C:\test.xml', SINGLE_CLOB
) AS xml
)

select @xml

(Сам xml -> внутри наберите-> TEST)
8 июн 16, 11:45    [19270398]     Ответить | Цитировать Сообщить модератору
 Re: Как взять данные из файла для запроса??  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
djonny30s39,

3981 день... тут уже или султан или ишак сдох
8 июн 16, 11:49    [19270425]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить