Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.28;
Скачать: CL | DM;

Вниз

Linked Servers - команда, не возвращающая rowset   Найти похожие ветки 

 
Тих   (2003-04-09 21:41) [0]

Надо с MS SQL послать команду прилинкованному Ораклу. Select/Insert выполняются через select from openquery и insert into openquery соответственно, а вот как насчет delete/update и прочих команд?


 
Дмитрий Баранов ©   (2003-04-10 11:24) [1]

Через OLE (тестировано на MS SQL 2000)

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO


CREATE procedure ExecuteRemoteCommand
(
@ConnectionString nvarchar(2000),
@UserId nvarchar(2000),
@Password nvarchar(2000),
@Command nvarchar(4000)
) as
begin

DECLARE @object int;
DECLARE @hr int;
DECLARE @ErrorS int;
DECLARE @Error nvarchar(1000);
EXEC @hr = sp_OACreate "ADODB.Connection", @object OUT;
if (@hr <> 0)
begin
Exec sp_OAGetErrorInfo @object, @ErrorS OUT , @Error OUT;
print @Error;
return;
end;

EXEC @hr = sp_OAMethod @object, "Open", NULL, @ConnectionString, @UserId, @Password, "0";
if (@hr <> 0)
begin
Exec sp_OAGetErrorInfo @object, @ErrorS OUT , @Error OUT;
print @Error;
end

EXEC @hr = sp_OAMethod @object, "Execute", NULL, @Command

if (@hr <> 0)
begin
Exec sp_OAGetErrorInfo @object, @ErrorS OUT , @Error OUT;
print @Error;
end

EXEC @hr = sp_OAMethod @object, "Close"

end


GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO


 
sniknik ©   (2003-04-10 11:46) [2]

если к Ораклу OLE DB драйвера должно работать аналогичное
DELETE FROM OpenDataSource("Microsoft.Jet.OLEDB.4.0", "D:\Base.mdb";"admin";"")...datyear1



Страницы: 1 вся ветка

Текущий архив: 2003.04.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
3-91211
supersan
2003-04-09 08:37
2003.04.28
Правильное соединение с БД Interbase?


4-91589
Darkman
2003-03-02 16:41
2003.04.28
Определение вида (topmost или нет) окна по handle


1-91392
sAm_
2003-04-16 14:53
2003.04.28
Наиболее эффективный алгоритм генератора псевдослучайных чисел


3-91177
alxx
2003-04-09 14:39
2003.04.28
GetDate


3-91214
V21
2003-04-10 16:08
2003.04.28
Переход от BDE к FIBPlus