1

Надеюсь, я задаю достаточно простой вопрос - просто пытаясь сэкономить время, чтобы быть честным. :)SQL Server 2005 Работа - вызов PLSQL-процедуры с использованием строки подключения из реестра

Все, что я хочу, это вызвать PL/SQL-процедуру из задания SQL Server.

У меня уже есть строка подключения в строке реестра, и у меня есть построенная процедура.

Я не знаю, могу ли я просто указать T-SQL и каким-то образом получить параметр реестра, но я подозреваю, что мне нужен скрипт ActiveX (если это возможно).

У кого-нибудь есть этот (правда, вполне конкретный) фрагмент кода?

Заранее благодарен!

Frosty

ответ

1

В конце концов. Это работало для меня по заданию ActiveX:

Const HKEY_CURRENT_USER = &H80000001 
Const HKEY_LOCAL_MACHINE = &H80000002 

Dim oConnection, oRegistry, sConnectionString, sPlsqlCall, sRegistryKey, sValueName, sParam1, sParam2 

' Get connection string from registry 
Set oRegistry = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") 
sRegistryKey = "Software\OracleConnectionString" 
sValueName = "Value" 
oRegistry.GetStringValue HKEY_CURRENT_USER, sRegistryKey, sValueName, sConnectionString 

' Set up PLSQL query 
sPlsqlCall = "my_package.my_procedure(" & sParam1 & ", " & sParam2 & ")" 

' Call PLSQL 
Set oConnection = CreateObject("ADODB.Connection") 
oConnection.ConnectionString = sConnectionString 
oConnection.Open 
oConnection.Execute sPlsqlCall 

oConnection.Close 
Set oConnection = Nothing 
Set oRegistry = Nothing