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

Откуда: Пермь
Сообщений: 1667
В приложении при добавлении документа вызывается ХП, в тексте которой есть вызов ХП с другого сервера с помощью конструкции OPENDATASOURCE. На этом вызове хранимка вешается.
Если делать то же самое из QA, то все отрабатывает. В чем могут быть грабли?
P.S. SQL Server 2000
8 июл 09, 09:07    [7389489]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
pacha
Member

Откуда:
Сообщений: 239
А сообщение об ошибке есть?
8 июл 09, 09:10    [7389501]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
Sp999
Member

Откуда: Пермь
Сообщений: 1667
pacha
А сообщение об ошибке есть?

В том то и дело, что ошибки нет. В профайлере показывает, что вызов хранимки через OPENDATASOURCE начался, но завершения так и нет (ждал долго, около часа, а в QA отрабатывает за секунду).
8 июл 09, 09:19    [7389530]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
RENaissance
Member

Откуда: Муром->Москва
Сообщений: 10895

Сравните SET'ы, которые устанавливают ваше приложение и QA.

Posted via ActualForum NNTP Server 1.4

8 июл 09, 09:26    [7389539]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
Sp999
Member

Откуда: Пермь
Сообщений: 1667
RENaissance

Сравните SET'ы, которые устанавливают ваше приложение и QA.

Прошу прощения, а как посмотреть SET'ы на приложении? Дело в том, что я его только обслуживаю, внутрь влезть могу только на уровне хранимок.
8 июл 09, 09:29    [7389546]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
RENaissance
Member

Откуда: Муром->Москва
Сообщений: 10895

Sp999

Прошу прощения, а как посмотреть SET'ы на приложении? Дело в том, что я
его только обслуживаю, внутрь влезть могу только на уровне хранимок.

Запустите Profiler, подключитесь к серверу в QA, потом подключитесь приложением и сравните.

Posted via ActualForum NNTP Server 1.4

8 июл 09, 09:33    [7389559]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Sp999

Прошу прощения, а как посмотреть SET'ы на приложении? Дело в том, что я его только обслуживаю, внутрь влезть могу только на уровне хранимок.


SETы текущих коннектов умеет показывать профайлер.
8 июл 09, 09:34    [7389560]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
Sp999
Member

Откуда: Пермь
Сообщений: 1667
Приложение нехилое, одному Аллаху известно, в какой момент оно выставляет тот сет, который на это повлиял. Перед вызовом и внутри хранимки сеты только nocount и rowcount.
Может кто сталкивался с подобной ситуацией и знает, как поправить?
8 июл 09, 14:13    [7391664]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
RENaissance
Member

Откуда: Муром->Москва
Сообщений: 10895

Sp999

Приложение нехилое, одному Аллаху известно, в какой момент оно
выставляет тот сет, который на это повлиял. Перед вызовом и внутри
хранимки сеты только nocount и rowcount.
Может кто сталкивался с подобной ситуацией и знает, как поправить?

Надо смотреть SET'ы при ПОДКЛЮЧЕНИИ.

Posted via ActualForum NNTP Server 1.4

8 июл 09, 14:19    [7391708]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
Sp999
Member

Откуда: Пермь
Сообщений: 1667
Прогнал профайлером с момента подключения до момента зависания - встречаются только nocount, rowcount, textsize и statistics io. Думаю, что все это все равно мимо кассы. Может в трассировке события какие дополнительно указать надо? У меня ловит Performance - Execution Plan, Stored Procedures - StmtStarting и StmtCompleted, TSQL - StmtStarting и StmtCompleted.
8 июл 09, 14:34    [7391839]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
BvBv
Guest
А с правами как?
8 июл 09, 14:41    [7391893]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
Sp999
Member

Откуда: Пермь
Сообщений: 1667
BvBv
А с правами как?

И в приложение, и в QA вхожу под одним логином.
Дык ведь в случае приложения ошибки никакой не выдается, приложение виснет напрочь, задачу приходится срывать, скульный процесс в артизане болтается, при попытке его убить переходит в состояние Killed\Rollback, в котором и остается навсегда (первый раз висел в таком состоянии 2 дня, пока сервер не перезагрузили).
8 июл 09, 14:50    [7391965]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
Sp999
Member

Откуда: Пермь
Сообщений: 1667
Попробовал то, что запускал в QA обернуть в процедуру и запустить ее - результат опять зависание. Есть ли какие правила создания подобных процедур?
ЗЫЖ При создании процедуры ANSI_NULLS и ANSI_WARNINGS установлены в ON.
8 июл 09, 15:25    [7392173]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
Glory
Member

Откуда:
Сообщений: 104760
Sp999
Попробовал то, что запускал в QA обернуть в процедуру и запустить ее - результат опять зависание. Есть ли какие правила создания подобных процедур?
ЗЫЖ При создании процедуры ANSI_NULLS и ANSI_WARNINGS установлены в ON.

Проблема в том сервере, к которому вы делаете запрос в OPENDATASOURCE. Потому что именно там выполняется запрос
8 июл 09, 15:45    [7392299]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
Sp999
Member

Откуда: Пермь
Сообщений: 1667
Glory
Sp999
Попробовал то, что запускал в QA обернуть в процедуру и запустить ее - результат опять зависание. Есть ли какие правила создания подобных процедур?
ЗЫЖ При создании процедуры ANSI_NULLS и ANSI_WARNINGS установлены в ON.

Проблема в том сервере, к которому вы делаете запрос в OPENDATASOURCE. Потому что именно там выполняется запрос

Но ведь из-под QA этот же запрос выполняется.
9 июл 09, 06:37    [7394247]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3216
Sp999
приложение виснет напрочь, задачу приходится срывать, скульный процесс в артизане болтается, при попытке его убить переходит в состояние Killed\Rollback, в котором и остается навсегда (первый раз висел в таком состоянии 2 дня, пока сервер не перезагрузили).
Есть подозрение, что используется кривой драйвер доступа. Видел такое, когда с 2000 пытался получать данные из MySQL через глючный ODBC-драйвер.
Сравните провайдеров доступа, которые используются при запуске из приложения и из QA. Вместо рестарта MSSQL для удаления такого коннекта попробуйте сделать рестарт службы MSDTC.
9 июл 09, 09:36    [7394489]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
Sp999
Member

Откуда: Пермь
Сообщений: 1667
Ennor Tiegael
Есть подозрение, что используется кривой драйвер доступа. Видел такое, когда с 2000 пытался получать данные из MySQL через глючный ODBC-драйвер.
Сравните провайдеров доступа, которые используются при запуске из приложения и из QA.

Так ведь и там, и там выполняю один и тот же код:
   exec OPENDATASOURCE('SQLOLEDB',
                       'Data Source=WORKFLOW;User ID=sa;Password=******'
                      ).DB.dbo.p_USRP_SP_GetSummaryAccount
        @parReceiver        = @NameReceiver          output
       ,@parReceiverBIC     = @BICReceiver           output
       ,@parReceiverAccount = @AccReceiver           output
       ,@parAccNumWFR       = @parAccNumWFR          output
       ,@parAccNameWFR      = @parAccNameWFR         output
Может такое быть, что не через одного провайдера?
9 июл 09, 09:57    [7394606]     Ответить | Цитировать Сообщить модератору
 Re: Проблема использования OPENDATASOURCE в ХП  [new]
Glory
Member

Откуда:
Сообщений: 104760
Sp999
Glory
Sp999
Попробовал то, что запускал в QA обернуть в процедуру и запустить ее - результат опять зависание. Есть ли какие правила создания подобных процедур?
ЗЫЖ При создании процедуры ANSI_NULLS и ANSI_WARNINGS установлены в ON.

Проблема в том сервере, к которому вы делаете запрос в OPENDATASOURCE. Потому что именно там выполняется запрос

Но ведь из-под QA этот же запрос выполняется.

И вы сравнили, что происходит на обеих серверах при выполнении запроса и процедуры с запросом ?
9 июл 09, 12:33    [7395805]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить