当前位置:Gxlcms > 数据库问题 > 通过OCILIB连接oracle执行存储过程

通过OCILIB连接oracle执行存储过程

时间:2021-07-01 10:21:17 帮助过:25人阅读

  1. #include <iostream>
  2. #include "ocilib.hpp"
  3. using namespace std;
  4. using namespace ocilib;
  5. #pragma comment(lib,"ociliba.lib")
  6. #pragma comment(lib,"ocilibw.lib")
  7. int main()
  8. {
  9.    try
  10.    {       
  11.         int ncout = 0, iin = 11;
  12.         string sout,sin = "输入的参数值";
  13. Environment::Initialize();
  14. Connection con("server", "id", "password");
  15. Statement st(con);
  16. st.Prepare("begin 存储过程名(:nout, :sout, :iin, :sin); end;");
  17. st.Bind(OTEXT(":nout"), nout, BindInfo::Out);
  18. st.Bind(OTEXT(":sout"), sout, 256, BindInfo::Out);
  19. st.Bind(OTEXT(":iin"), iin, BindInfo::In);
  20. st.Bind(OTEXT(":sin"), sin, static_cast<unsigned int>(sin.size()), BindInfo::In);
  21. st.ExecutePrepared();
  22. cout<< nout << sout <<endl;
  23.      }
  24.      catch (std::exception &ex)
  25.      { }
  26.      Environment::Cleanup();
  27.      return 0;
  28. }
  1. 其中nout, :sout, :iin, :sin,分别代表存储过程中int型的输出,string型的输出;int型的输入和string型的输入;
  2. 需注意要在projict 的最后一个工程属性的C/C++和链接器的第一个常规,分别加上include和lib库。

本文出自 “学习记录” 博客,请务必保留此出处http://6941523.blog.51cto.com/6931523/1672116

通过OCILIB连接oracle执行存储过程

标签:c++   oracle   ocilib   

人气教程排行