我希望我问的是一个相当简单的问题——老实说,只是想为自己节省一些时间。:)
我想要的只是从 SQL Server 作业中调用 PL/SQL 过程。
我已经在注册表字符串中有连接字符串,并且我已经构建了程序。
我不知道我是否可以指定 T-SQL 并以某种方式获取注册表设置,但我怀疑我需要一个 ActiveX 脚本(如果可能的话)。
有人手边有这个(诚然非常具体的)代码片段吗?
提前致谢!
冷若冰霜
我希望我问的是一个相当简单的问题——老实说,只是想为自己节省一些时间。:)
我想要的只是从 SQL Server 作业中调用 PL/SQL 过程。
我已经在注册表字符串中有连接字符串,并且我已经构建了程序。
我不知道我是否可以指定 T-SQL 并以某种方式获取注册表设置,但我怀疑我需要一个 ActiveX 脚本(如果可能的话)。
有人手边有这个(诚然非常具体的)代码片段吗?
提前致谢!
冷若冰霜
最终到达那里。这在 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