ODBC

更新时间:2025-02-12 02:06:25

PolarDB PostgreSQL版(兼容Oracle)提供了Unix、Linux系统版本和Windows系统版本的ODBC驱动,本文将介绍在不同系统中如何使用ODBC驱动。

前提条件

  • 已经在PolarDB集群创建用户,如何创建用户请参见创建数据库账号

  • 已经将需要访问PolarDB集群的主机IP地址添加到白名单,如何添加白名单请参见设置集群白名单

  • Windows系统需要为Windows 7以上版本,且已经安装了service pack 1。

  • Unix系统或Linux系统需要安装以下工具:

    • Libtool 1.5.10及以上版本。

    • unixODBC-devel。

下载驱动

Windows系统使用ODBC驱动

安装ODBC驱动

  1. 根据Windows操作系统的位数选择对应的安装包,下载地址请参见下载驱动

  2. 右键安装或使用管理员身份运行polardb2_odbc_*_*.msi文件,即可完成ODBC安装。

使用ODBC连接PolarDB

  1. 控制面板中打开管理工具

  2. 管理工具页面,找到并运行ODBC数据源

  3. ODBC数据源管理程序页面,单击添加

  4. 选择PolarDB Unicode(x64)作为数据源的驱动程序,单击完成

    image.png

  5. 在弹出的对话框中,输入以下信息。

    image.png

    参数

    说明

    参数

    说明

    Data Source

    数据源名称。

    Description

    数据源的描述。

    Database

    目标数据库名称。

    SSL Mode

    选择SSL加密方式。

    Server

    目标数据库连接地址,PolarDB集群连接地址查看方式请参见查看或申请连接地址

    Port

    目标数据库的端口,默认为1521。

    User Name

    数据库账号。

    Password

    数据库账号的密码。

    单击Test,如果连接串配置正确,则会提示连接成功。

    image.png

  6. 单击Save即可。

UnixLinux系统使用ODBC驱动

说明

此处以CentOS系统为例,其他操作系统,请根据实际情况调整相关命令。

安装ODBC驱动

  1. 根据操作系统的架构和版本下载对应的ODBC驱动,下载地址请参见下载驱动

  2. 安装ODBC驱动。PolarDB提供的ODBC驱动压缩包无需安装,解压后即可使用。解压命令如下所示:

    tar -zxvf polardb-odbc-*-*-*.tar.gz
    说明

    其中polardb-odbc-*-*-*.tar.gz请替换为实际下载获取的压缩包名称。

  3. 执行以下命令,设置环境变量LD_LIBRARY_PATH的路径指向。

    export LD_LIBRARY_PATH=<PolarDB-ODBC/lib>:$LD_LIBRARY_PATH

    其中,<PolarDB-ODBC/lib/>路径需替换为ODBC解压目录所在的实际路径。

  4. 执行以下命令,设置环境变量ODBCINI的路径指向。

    export ODBCINI=</your odbc.init file path>

使用ODBC连接PolarDB

  1. Linux服务器上安装的Libtool,Libtool需要是1.5.1以上版本。

    yum install -y libtool
  2. Linux服务器上安装unixODBC-devel。

    yum install -y unixODBC-devel
  3. 编辑您配置的odbc.ini文件。

    vim $ODBCINI 
  4. odbc.ini文件中添加如下信息。

    [POLARDB]
    Description = ODBC for POLARDB
    Driver      = <PolarDB-ODBC/lib/psqlodbcw.so>
    Driver64    = <PolarDB-ODBC/lib/psqlodbcw.so>
    Database    = <数据库名称>
    Servername  = <数据库连接地址>
    Password    = <密码>
    Port        = <端口>
    Username    = <用户名>
    Trace       = yes
    TraceFile   = /tmp/odbc.log
    FileUsage   = 1
    说明
    • PolarDB集群连接地址查看方式请参见查看或申请连接地址

    • 示例中PolarDB-ODBC/lib/路径需替换为ODBC解压目录所在的实际路径。

  5. 连接PolarDB。

    $isql -v POLARDB
    +---------------------------------------+
    | Connected!                            |
    |                                       |
    | sql-statement                         |
    | help [tablename]                      |
    | quit                                  |
    |                                       |
    +---------------------------------------+
    SQL>

常见问题

  • PowerBuilder通过ODBC连接PolarDB查询数据报错ERROR: column "_polarHiddenprefix_dts_ROWID" does not existERROR: column "polar_sys_rowid_attr" does not exist

    隐藏列问题,已在新版本修复,下载不低于13.02.0000.1版本的ODBC驱动即可解决。

  • PowerBuilder通过ODBC连接PolarDB查询数据报错ERROR: syntax error at or near "limit"

    保留关键字作为列名的问题,已在新版本修复,下载不低于13.02.0000.1版本的ODBC驱动即可解决。

版本更新日志

版本13.02.0000.1(2025-02-10)

  • DATE类型兼容Oracle,包含时分秒信息。

  • INTERVAL类型兼容Oracle,禁止直接查询INTERVAL列,需要将INTERVAL列转换为字符串使用。

  • PGAPI_ColumnsAPI适配ROWIDDTS,不展示ROWIDDTS相关的系统列和系统索引。

  • PGAPI_ColumnsAPI支持以关键字作为列名场景。

  • 本页导读 (1)
  • 前提条件
  • 下载驱动
  • Windows系统使用ODBC驱动
  • 安装ODBC驱动
  • 使用ODBC连接PolarDB
  • Unix或Linux系统使用ODBC驱动
  • 安装ODBC驱动
  • 使用ODBC连接PolarDB
  • 常见问题
  • 版本更新日志
  • 版本13.02.0000.1(2025-02-10)
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等