返回顶部
首页 > 资讯 > 数据库 >PostgreSQL OTL访问
  • 600
分享到

PostgreSQL OTL访问

2024-04-02 19:04:59 600人浏览 八月长安
摘要

    通过安装了postgresql ODBC驱动,然后通过OTL进行数据库的访问代码void TestByOtl(){ odbc::otl_connect db;  odbc::otl_connect:

    通过安装了postgresql ODBC驱动,然后通过OTL进行数据库的访问

代码

void TestByOtl()
{
 odbc::otl_connect db;
 odbc::otl_connect::otl_initialize();
 try {

  db.rloGon("Driver={Postgresql Unicode};Server=192.168.10.227;Port=5432;Database=pas;Uid=postgres;Pwd=admin12345");

  odbc::otl_cursor::direct_exec(
    db,
    "create table student (id int, name varchar(30))"
    ); 

  odbc::otl_cursor::direct_exec(
   db,
   "insert into student values(31090012, 'fengyuzaitu@126.com')"
   );

 }

 catch (odbc::otl_exception& p) { // 捕获OTL异常
  cerr << p.msg << endl; // 打印错误信息
  cerr << p.stm_text << endl; // 打印引起错误的SQL语句
  cerr << p.sqlstate << endl; // 打印引起错误的SQL状态
  cerr << p.var_info << endl; // 打印引起错误的变量
 }

 db.logoff();
}


注意    1)

            默认情况下,调用direct_exec函数创建表,不能直接通过pgAdmin直接查询到表的存在,必须进行刷新,或者调用登陆退出函数 db.logoff,才能够将数据刷新到数据库

注意

            没有安装PostgreSQL ODBC驱动,调用rlogon会抛出异常:[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序


知识准备)宏定义OTL_ODBC在预编译声明指定的时候,将调用PostgreSQL ODBC驱动。PostgreSQL至少有两套ODBC驱动,有些必须在调用的时候,指定OTL_ODBC_POSTGRESQL宏定义声明。如下的不同平台
的调用区别:
linux:定义声明OTL_ODBC_POSTGRESQL,调用psqlodbc.so,  psqlodbcw.so库文件
Linux:定义声明OTL_ODBC,调用libodbcpsql.so库文件
Solaris:定义声明OTL_ODBC_POSTGRESQL,调用libodbcpsql.so库文件
windows:定义声明OTL_ODBC_POSTGRESQL,调用pgsqlodbc30a.dll, pgsqlodbc35w.dll库文件(摘自Http://otl.sourceforge.net/otl3_compile.htm)


探索)尝试不用通过安装ODBC,直接调用 pgsqlodbc30a.dll, pgsqlodbc35w.dll库文件,进行数据库的访问,是否可行?

手动通过import调用pgsqlodbc30a.dll, pgsqlodbc35w.dll,或者LoadLibrary无效


 

            


您可能感兴趣的文档:

--结束END--

本文标题: PostgreSQL OTL访问

本文链接: https://lsjlt.com/news/36038.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作