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

Откуда: Krasnoyarsk
Сообщений: 63
Как выполнить запрос к oracle через openquery если строка запроса больше 8000 символов?
пробовал разбивать на части, но все ровно есть ограничения у exec()
ниже примерный запрос к ораклу, только занчение @a1 и @a2 значительно больше :)
declare @a1 varchar(max),@a2 varchar(max)
set @a1='select * from openquery (baseoracle,'''
set @a2='SELECT * FROM tab where user_id=62971897'')'
exec(@a1+@a2)

вот ошибка:
The character string that starts with '
SELECT * FROM ...' is too long. Maximum length is 8000.

select @@version
Microsoft SQL Server 2005 - 9.00.2050.00 (Intel X86)
Feb 13 2007 23:02:48 Copyright (c) 1988-2005 Microsoft Corporation
Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

да и на оракле ничего не могу сделать, тока селекты...
может есть еще какие нибудь способы, получить данные с оракла
24 авг 09, 10:46    [7571784]     Ответить | Цитировать Сообщить модератору
 Re: Большая строка запроса к ораклу, как быть?  [new]
Glory
Member

Откуда:
Сообщений: 104760
lexusXXX
Как выполнить запрос к oracle через openquery если строка запроса больше 8000 символов?
пробовал разбивать на части, но все ровно есть ограничения у exec()
ниже примерный запрос к ораклу, только занчение @a1 и @a2 значительно больше :)

Ограничение не у exec

OPENQUERY ( linked_server ,'query' )

Arguments
linked_server
Is an identifier representing the name of the linked server.

' query '
Is the query string executed in the linked server. The maximum length of the string is 8 KB.
24 авг 09, 10:52    [7571803]     Ответить | Цитировать Сообщить модератору
 Re: Большая строка запроса к ораклу, как быть?  [new]
lexusXXX
Member

Откуда: Krasnoyarsk
Сообщений: 63
и вариантов сделать большой запрос нету?
24 авг 09, 11:01    [7571850]     Ответить | Цитировать Сообщить модератору
 Re: Большая строка запроса к ораклу, как быть?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36800
lexusXXX
и вариантов сделать большой запрос нету?
Напишите на оракле процедуру/функцию/вьюху - я не знаю, что там есть - и вызывайте на здоровье.
24 авг 09, 11:46    [7572134]     Ответить | Цитировать Сообщить модератору
 Re: Большая строка запроса к ораклу, как быть?  [new]
lexusXXX
Member

Откуда: Krasnoyarsk
Сообщений: 63
Гавриленко Сергей Алексеевич
lexusXXX
и вариантов сделать большой запрос нету?
Напишите на оракле процедуру/функцию/вьюху - я не знаю, что там есть - и вызывайте на здоровье.

я б с удовольствием это сделал, нету прав на это только селекты.

Ладно спасибо, за ответы, буду по другому решать вопрос.
24 авг 09, 13:16    [7572704]     Ответить | Цитировать Сообщить модератору
 Re: Большая строка запроса к ораклу, как быть?  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 765
lexusXXX,

А OPENDATASOURCE использовать религия не позволяет?
24 авг 09, 15:02    [7573415]     Ответить | Цитировать Сообщить модератору
 Re: Большая строка запроса к ораклу, как быть?  [new]
lexusXXX
Member

Откуда: Krasnoyarsk
Сообщений: 63
flexgen
lexusXXX,

А OPENDATASOURCE использовать религия не позволяет?


тоже самое
The character string that starts with '
SELECT * FROM (SELECT ...
' is too long. Maximum length is 8000.
25 авг 09, 05:51    [7575369]     Ответить | Цитировать Сообщить модератору
 Re: Большая строка запроса к ораклу, как быть?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
{ EXEC | EXECUTE }
        ( { @string_variable | [ N ] 'command_string [ ? ] ' } [ + ...n ]
        [ { , { value | @variable [ OUTPUT ] } } [ ...n ] ]
        ) 
    [ AS { LOGIN | USER } = ' name ' ]
    [ AT linked_server_name ]
[;]

@ string_variable
Is the name of a local variable. @string_variable can be any char, varchar, nchar, or nvarchar data type. These include the (max) data types.
25 авг 09, 08:41    [7575500]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить