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

Откуда:
Сообщений: 329
Прилинковал оракловский сервер
пишу

SELECT *
FROM OPENQUERY(OraSrv, 'SELECT * from oradb.table1')

Необходимо передать параметр в OPENQUERY

можно конечно и
declare @par smallint
select @par=2005

SELECT *
FROM OPENQUERY(OraSrv, 'SELECT * from oradb.table1')
where f_year=@par

Но ведь, как я понимаю, это неправильно

Как передать параметр в OPENQUERY?
5 апр 05, 08:36    [1440382]     Ответить | Цитировать Сообщить модератору
 Re: Oracle -SQL Server-OpenQuery  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Только динамическим запросом.
5 апр 05, 08:46    [1440402]     Ответить | Цитировать Сообщить модератору
 Re: Oracle -SQL Server-OpenQuery  [new]
Eldar
Member

Откуда:
Сообщений: 329
Может тогда глупый вопрос, но для экономии времени

а как сформировать подстроку, т.е. мне надо получить

select @sql='SELECT *
FROM OPENQUERY(OraSrv, 'SELECT * from oradb.table1')'

проще говоря - как апострофы получить?
5 апр 05, 09:14    [1440476]     Ответить | Цитировать Сообщить модератору
 Re: Oracle -SQL Server-OpenQuery  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Два подряд добавить... или ... в общем - самое простое посмотреть на сформированную строку запросом

select @sql
5 апр 05, 09:22    [1440508]     Ответить | Цитировать Сообщить модератору
 Re: Oracle -SQL Server-OpenQuery  [new]
Eldar
Member

Откуда:
Сообщений: 329
Спасибо, разобрался
результат

declare @par char(3)
declare @sql varchar(500)

select @par=2005
select @sql='SELECT * FROM OPENQUERY(OraSrv, 
''SELECT * from oradb.table1 where "f_year"='+@par+''')'
		
select @sql
5 апр 05, 09:27    [1440522]     Ответить | Цитировать Сообщить модератору
 Re: Oracle -SQL Server-OpenQuery  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Ну и EXEC её теперь!
5 апр 05, 09:31    [1440534]     Ответить | Цитировать Сообщить модератору
 Re: Oracle -SQL Server-OpenQuery  [new]
Eldar
Member

Откуда:
Сообщений: 329
Ага, только еще переменные от user'a получить...и готово

Спасибо, еще раз
5 апр 05, 09:52    [1440580]     Ответить | Цитировать Сообщить модератору
 Re: Oracle -SQL Server-OpenQuery  [new]
Eldar
Member

Откуда:
Сообщений: 329
Ну вот опять возникла проблема с кириллицей

Главное в OLEDB драйвере все нормально, а вот LinkedServer не хочет кириллицу показывать

На Oracle NLS_LANG=AMERICAN_AMERICA.US7ASCII

Пробовал явно указать кириллицу или латиницу - результата нет
5 апр 05, 11:25    [1441032]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить