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

Откуда:
Сообщений: 32
Хочу создать OLEDB объект и выполнить команду...Linked Server не устраивает (MS SQL сервер вешается при попытке создать таковой к DB2\AS400). Ну и фиг с ним.OPENROWSET для OLEDB для ODBC работает нормально, но вот DROP VIEW... через него не сделаешь... Пытаюсь сделать
DECLARE @object int
DECLARE @hr int
DECLARE @src varchar(255), @desc varchar(255)
EXEC @hr = sp_OACreate 'MSDASQL', @object OUT
IF @hr <> 0
BEGIN
   EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT 
   SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
    RETURN
END

и дальше работать через объект. Но получаю на sp_OACreate
hr              Source                               Description
----------   ------------------------      ------------------------
0x80004002 ODSOLE Extended Procedure   No such interface supported
Может быть кто-нибудь на путь истинный наставит? Спасибо.

PS. Я знаю, что можно командочки всякие выполнять на клиенте (все это уже работает). Намеренно хочу сделать это из TSQL.
24 мар 05, 20:54    [1413633]     Ответить | Цитировать Сообщить модератору
 Re: Хочу создать OLEDB объект и выполнить команду...  [new]
Alex.Czech
Guest
А MSDASQL - это вообще COM-компонент ? .NET при попытке прилинковать к проекту его dll говорит что это не сборка и не COM-компонент, а что-то не пойми что :)
24 мар 05, 22:28    [1413741]     Ответить | Цитировать Сообщить модератору
 Разобрался...  [new]
tarantini
Member

Откуда:
Сообщений: 32
1)OLEDB провайдеры (во всяком случае MSDASQL и SQLOLEDB) - не поддерживают IDispatch - поэтому (видимо) sp_OACreate их и не может создать.Надо создавать ADO объект.
2) 2 Alex Czech
Конечно они (OLEDB провайдеры) COMы. Можно глянуть на картинку из файла

К сообщению приложен файл. Размер - 0Kb
25 мар 05, 13:52    [1415234]     Ответить | Цитировать Сообщить модератору
 Re: Хочу создать OLEDB объект и выполнить команду...  [new]
Alex.Czech
Guest
Если они не поддерживают IDispatch, то с ними нельзя работать через sp_OACreate - это явно написано в хелпе
25 мар 05, 19:16    [1416595]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить