
# 前置准备
- ODBC版本：V500R002C10及以上版本。
- 数据库环境：GaussDB V500R002C10及以上版本。
- ODBC驱动环境搭建： 参考《开发指南》中"应用程序开发教程 \> 基于ODBC开发 \> 开发步骤 \> 获取源码包、ODBC包以及依赖库"章节。
  

- 配置ODBC数据源： 参考《开发指南》中"应用程序开发教程 \> 基于ODBC开发 \> 开发步骤 \> 连接数据库"章节下的"Linux系统下配置数据源"章节和"Windows系统下配置数据源"章节。
  以Linux环境为例，推荐配置odbc.ini文件参数如下：
  ```
  [gaussdb]
  Driver=GaussMPP
  Servername=127.0.0.1  # 数据库Server IP。
  Database=db1  # 数据库名。
  Username=omm  # 数据库用户名。
  Password=******  # 数据库用户密码。
  Port=8000  # 数据库侦听端口。
  Sslmode=allow  # 该参数用于设置启用SSL加密的方式，allow表示如果数据库服务器要求使用，则可以使用SSL安全加密连接，但不验证数据库服务器的真实性。
  UseServerSidePrepare=1  # 默认开启，若为1则客户端会使用软解析发送PU/PBE报文，若为0则为硬解析发送Q报文。
  UseBatchProtocol=1  # 默认开启，打开批量查询功能。
  MaxCacheQueries=1024  # 控制每个连接缓存的预编译语句个数。
  MaxCacheSizeMiB=5  # 控制每个连接缓存的预编译语句总大小，在MaxCacheQueries大于0时生效。
  ConnSettings=set client_encoding=UTF8  # 设置客户端字符编码，保证和服务端一致。
  SocketTimeout=5  # 用于控制客户端与服务端建立连接完全成功后的socket读写超时时间。
  TargetServerType=primary  # 设定连接的主机的类型，主机的类型和设定的值一致时才能连接成功，primary表示仅对主备系统中的主节点进行连接。
  AutoBalance=1  # ODBC控制负载均衡的开关，连接的数据库版本在506.0以下时，不支持容灾集群负载均衡。
  ```
  ![](https://support.huaweicloud.com/bestpractice-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  - AutoBalance参数仅在GaussDB V500R002C20版本及以上版本支持。
  
  - MaxCacheQueries和MaxCacheSizeMiB参数仅在GaussDB 503.1版本及以上版本支持。
  
  - SocketTimeout参数仅在GaussDB 505.2版本及以上版本支持。
  
  - TargetServerType参数中cluster-primary、cluster-standby和cluster-mainnode仅在GaussDB 506.0版本及以上版本支持，其余参数仅在GaussDB 505.2版本及以上版本支持。
   
  以Windows 环境为例，配置数据源管理器，推荐配置如[图1]所示：
  图1Windows环境配置数据源管理器   
  ![](https://support.huaweicloud.com/bestpractice-gaussdb/figure/zh-cn_image_0000002590206036.png)
  ![](https://support.huaweicloud.com/bestpractice-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  以上数据源配置请以实际业务为准，包括但不限于数据库Server IP，端口Port以及其他连接参数。
  
 
