Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

mengeksekusi prosedur tersimpan Oracle dari server sql menggunakan fungsi kueri terbuka

Akhirnya menemukan beberapa solusi – kunci masalahnya (bagi kami) adalah bahwa secara default RPC dinonaktifkan untuk server yang ditautkan. Parameter untuk Rpc, Rpc Out, dan Use Remote Collation harus disetel ke true. Info lebih lanjut:

http://blog.sqlauthority.com/2007/10/18/sql-server-2005-fix-error-msg-7411-level-16-state- 1-server-tidak-dikonfigurasi-untuk-rpc/

Solusi yang Anda gunakan akan bergantung pada persyaratan keluaran prosedur. Contoh pertama mengembalikan nilai output. Contoh kedua tidak ada nilai output yang dikembalikan (data dikumpulkan dalam kueri berikutnya).

Contoh 1

Prosedur T2T_collect_all memiliki dua parameter input (tanggal mulai dan akhir) dan satu parameter output (jumlah baris).

MENYATAKAN @l_i_parameter1 varchar(10)

MENYATAKAN @l_i_parameter2 varchar(10)

MENYATAKAN @l_i_parameter3 varchar(10)

MENYATAKAN @l_i_parameter4 varchar(10)

MENYATAKAN @l_o_parameter1 bilangan bulat

SET @l_i_parameter1 ='2009/10/01'

SET @l_i_parameter2 ='yyyy/mm/dd'

SET @l_i_parameter3 ='2009/12/31'

SET @l_i_parameter4 ='yyyy/mm/dd'

SET @l_o_parameter1 =0

EXECUTE ( 'mulai T2T_collect_all(to_date(?, ?), to_date(?, ?), ? ); end;', ​​

      @l_i_parameter1, 

      @l_i_parameter2,

      @l_i_parameter3, 

      @l_i_parameter4,

      @l_o_parameter1 OUTPUT

) DI ORA_DB;

Info Lebih Lanjut:http://blogs.msdn.com/joaquinv/archive/2008/10/23/execute-Oracle-stored-procedure-in-sql-server.aspx

Contoh 2a

Prosedur T2T_collect_allx hanya memiliki dua parameter input (tanggal mulai dan berakhir).

EXECUTE ('mulai T2T_collect_allx (SYSDATE - 40, SYSDATE); akhir;') ORA_DB;

Contoh 2b

SELECT * FROM OPENQUERY(ORA_DB, 'begin T2T_collect_allx (SYSDATE - 40, SYSDATE ); end;')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:Jika Tabel Ada

  2. Petunjuk langkah demi langkah untuk Instalasi Oracle Virtual Box

  3. Bagaimana saya bisa mendapatkan id objek baru yang dihasilkan oleh urutan DB?

  4. Bagaimana saya bisa menambahkan nol di depan ke tanggal di Oracle?

  5. Oracle DENGAN CLAUSE tidak berfungsi?