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

Откуда:
Сообщений: 160
Привет всем. Возникла проблема странного характера. Сервер SQL 2005. Настроен связанный сервер ORACLE. Запускаю в среде Oracle запрос select cast(artnr as integer) as artnr, artgewbru from art_t where mndnr='0000' and namins='TskComif' and artnr='34834', возвращается следующее:
artnr artgewbru
34834 1500000

Запускаю этот же запрос в среде SQL через связанный сервер
select * from OPENQUERY(oracle, 'select cast(artnr as integer) as artnr, artgewbru from art_t where mndnr=''0000'' and namins=''TskComif'' ') where artnr=34834
получаю следующее:
artnr artgewbru
34834 1500000
34834 0


Откуда эта строка с 0 появляется, если в исходных данных ее нет? Провайдер для связи с ORACLE использую oracle provider for ole db ver.10.1.0.2.0
2 авг 12, 15:44    [12953595]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104760
А почему в запросе с OPENQUERY
1. фильтр artnr=34834 снаружи, а не в внтри ?
2. фильтр artnr=34834 числовой, а не строковый ?
2 авг 12, 15:47    [12953631]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server Oracle  [new]
Semen81
Member

Откуда:
Сообщений: 160
вот в том то и прикол. Фильтр по коду я использовал для примера, таких строк много. Вот если его во внутрь openquery поместить, то возвращается одна запись, вытаскиваешь его наружу - 2 записи. А числовой, потому что внутри я сделал преобразование CAST
2 авг 12, 16:34    [12954005]     Ответить | Цитировать Сообщить модератору
 Re: Linked Server Oracle  [new]
invm
Member

Откуда: Москва
Сообщений: 9633
Чудес на свете не бывает.
select * from OPENQUERY(oracle, 'select artnr, artgewbru from art_t where mndnr=''0000'' and namins=''TskComif'' ') where artnr like '%34834%'
2 авг 12, 17:13    [12954290]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить