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

Откуда:
Сообщений: 143
Добрый день.
SQL server 2008.
Настроен вывод из внешнего источника данных по ODBC в таблицу БД.
Настроена возможность вызова внешних программ, проверено, работает, внешняя программа вызывается и пишет в файл строчку.
Но после вызова внешней программы от внешнего источника перестают приниматься данные по ODBC. Сам внешний источник данные передает, пишется лог переданных данных.
Посмотрел через SQP profiler, действительно данные перестают приниматься по ODBC.
Есть идея почему так происходит?
21 май 14, 12:50    [16047767]     Ответить | Цитировать Сообщить модератору
 Re: Прекращается прием данных по ODBC после вызова внешней программы.  [new]
forts
Member

Откуда:
Сообщений: 143
Хочу добавить. После перезапуска передачи данных по ODBC данные снова начинают приниматься таблицей до момента описанного выше,т.е. запуска внешней программы.
21 май 14, 12:52    [16047786]     Ответить | Цитировать Сообщить модератору
 Re: Прекращается прием данных по ODBC после вызова внешней программы.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
Источник блокируется, например.
21 май 14, 12:56    [16047818]     Ответить | Цитировать Сообщить модератору
 Re: Прекращается прием данных по ODBC после вызова внешней программы.  [new]
forts
Member

Откуда:
Сообщений: 143
Владислав Колосов
Источник блокируется, например.


Почему источник блокируется? Как его разблокировать? Есть такая возможность в SQL 2008 ?
21 май 14, 13:00    [16047847]     Ответить | Цитировать Сообщить модератору
 Re: Прекращается прием данных по ODBC после вызова внешней программы.  [new]
aleks2
Guest
forts
Хочу добавить. После перезапуска передачи данных по ODBC данные снова начинают приниматься таблицей до момента описанного выше,т.е. запуска внешней программы.

1. Источник и "внешняя программа" на одном компьютере?
2. Чего показывает профайлер при "запуске внешней программы"?

forts
Сам внешний источник данные передает, пишется лог переданных данных.
Посмотрел через SQP profiler, действительно данные перестают приниматься по ODBC.

А коннект "внешнего источника" к серверу сохраняется?
21 май 14, 13:34    [16048212]     Ответить | Цитировать Сообщить модератору
 Re: Прекращается прием данных по ODBC после вызова внешней программы.  [new]
forts
Member

Откуда:
Сообщений: 143
aleks2
forts
Хочу добавить. После перезапуска передачи данных по ODBC данные снова начинают приниматься таблицей до момента описанного выше,т.е. запуска внешней программы.

1. Источник и "внешняя программа" на одном компьютере?
2. Чего показывает профайлер при "запуске внешней программы"?

forts
Сам внешний источник данные передает, пишется лог переданных данных.
Посмотрел через SQP profiler, действительно данные перестают приниматься по ODBC.

А коннект "внешнего источника" к серверу сохраняется?


Источник, внешняя программ, сам сервер на одном компьютере.
Профайлер при запуске внешней программы ничего не показывает, т.к. действие программы вне БД(шаблок TSQL)
Коннект внешнего источника к серверу сохраняется.
21 май 14, 13:53    [16048403]     Ответить | Цитировать Сообщить модератору
 Re: Прекращается прием данных по ODBC после вызова внешней программы.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
forts
Владислав Колосов
Источник блокируется, например.


Почему источник блокируется? Как его разблокировать? Есть такая возможность в SQL 2008 ?


Блокируется, потому, что его "держит" внешнее приложение. Например, открывает файл в режиме "только запись".
21 май 14, 14:14    [16048673]     Ответить | Цитировать Сообщить модератору
 Re: Прекращается прием данных по ODBC после вызова внешней программы.  [new]
forts
Member

Откуда:
Сообщений: 143
Владислав Колосов
forts
пропущено...


Почему источник блокируется? Как его разблокировать? Есть такая возможность в SQL 2008 ?


Блокируется, потому, что его "держит" внешнее приложение. Например, открывает файл в режиме "только запись".


Внешняя программа сделана по минимуму. Только вывод на консоль что отработала. И ту уже закоментировал. Так что там просто зашел и сразу вышел, ни одного оператора. Блокировка все равно остается. Попробовал менять драйвер ODBC, не помогло.
21 май 14, 14:59    [16049159]     Ответить | Цитировать Сообщить модератору
 Re: Прекращается прием данных по ODBC после вызова внешней программы.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
Так а после выполнения этой волшебной программы с файлом можно что-то делать на уровне операционной системы? Удалить, например? Просто проверить теорию.
21 май 14, 16:40    [16050190]     Ответить | Цитировать Сообщить модератору
 Re: Прекращается прием данных по ODBC после вызова внешней программы.  [new]
forts
Member

Откуда:
Сообщений: 143
Владислав Колосов
Так а после выполнения этой волшебной программы с файлом можно что-то делать на уровне операционной системы? Удалить, например? Просто проверить теорию.


Когда запускаемая внешняя программа писала в файл что она отработала, то файл я открывал в блокноте, удалял, сохранял. Никакого блокирования файла не было.
21 май 14, 16:46    [16050244]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить