Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
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', возвращается следующее:
Запускаю этот же запрос в среде 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 получаю следующее:
Откуда эта строка с 0 появляется, если в исходных данных ее нет? Провайдер для связи с ORACLE использую oracle provider for ole db ver.10.1.0.2.0 |
||||||||||||
2 авг 12, 15:44 [12953595] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
А почему в запросе с OPENQUERY 1. фильтр artnr=34834 снаружи, а не в внтри ? 2. фильтр artnr=34834 числовой, а не строковый ? |
2 авг 12, 15:47 [12953631] Ответить | Цитировать Сообщить модератору |
Semen81 Member Откуда: Сообщений: 160 |
вот в том то и прикол. Фильтр по коду я использовал для примера, таких строк много. Вот если его во внутрь openquery поместить, то возвращается одна запись, вытаскиваешь его наружу - 2 записи. А числовой, потому что внутри я сделал преобразование CAST |
2 авг 12, 16:34 [12954005] Ответить | Цитировать Сообщить модератору |
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 | ![]() |