ADO ve VBA ile bir PL/SQL bloğu çağırmaya çalışıyorum, ancak girişi geçemiyorum ve/veya çıkış değişkenleri (muhtemelen aka parametreleri). değil benim sorun için bir çözüm yolunda herhangi bir yardım takdir ediyorumADO ile, nasıl bir Oracle PL/SQL bloğu arayabilirim ve giriş/çıkış bağlantı değişkenlerini belirtirim (parametreler?)
bağlı tüm değişkenler:
dim cn as ADODB.connection
' ... open connection ...
dim plsql as string
plsql = "declare"
plsql = plsql & " num_in number := ?;"
plsql = plsql & " num_out number; "
plsql = plsql & "begin"
plsql = plsql & " num_out := num_in * 5;"
plsql = plsql & " ? := num_out;"
plsql = plsql & "end;"
dim cm as ADODB.command
set cm = new ADODB.command
set cm.activeConnection = cn
cm.commandText = plsql
cm.commandType = adCmdText
cm.parameters.append cm.createParameter(, adDouble, adParamInput,, 5)
cm.parameters.append cm.createParameter(, adDouble, adParamOutput )
cm.execute ' FAILS HERE
msgBox(cm.parameters(2))
pasajı üzerinde bir ORA-01008 ile cm.execute
çizgisinde başarısız olur.
Oracle'ın anonim PL/SQL bloğu içindeki değişkenleri tanımlamanıza izin verdiğinden emin değilim. Ne yapmaya çalışıyorsun? –
Bu, gerçekte elde etmek istediklerimin kesilmiş halidir. Gerçek olan, bir prosedürü bir örneğe geçirmek için bir PL/SQL nesne tipini örneklendirmek ve daha sonra, sonradan nesne türü üzerinde birkaç yöntemi ve memeyi değerlendirmektir. –
Çok iyi bir soru ... oracle ve ado'nun çatıştığı sonsuz garip yollar sonsuz sayıda ... –