当前位置:网站首页>金仓数据库 Pro*C 迁移指南( 4. KingbaseES 的 Pro*C 迁移指南)
金仓数据库 Pro*C 迁移指南( 4. KingbaseES 的 Pro*C 迁移指南)
2022-08-03 02:52:00 【沉舟侧畔千帆过_】
4. KingbaseES 的 Pro*C 迁移指南
本部分描述了关于 KingbaseES 的 Pro*C 的环境搭建和程序开发示例。
本部分包含以下章节:
迁移前准备
工程搭建与迁移
数据库服务与连接配置
4.1. 迁移前准备
在开始工程迁移前,需要做好一系列准备,包括:
适配度评估
系统环境评估
4.1.1. 适配度评估
迁移前,需确认 KingbaseES 所支持的数据类型和函数是否满足您的业务需求。 您可以参考 KingbaseES Pr*oc 对 Oracle Pro*c 的兼容 章节中的表格,评估是否可以完成迁移工程。
4.1.2. 系统环境评估
除了特性支持适配度以外,还需要考虑使用的平台是否支持 KingbaseES 数据库。目前 KingbaseES 支持的平台如下:
Windows 系统: 64 位操作系统,可运行 64 位 / 32 位 VS2013
在该平台上,可兼容 release/debug 版本的 OCCI。
Linux 系统: 各种主流的操作系统 64 位发行版本的 CPU 平台,如 x86/arm/mipsel/loongarch64
默认使用 gcc4.8.5 。
注意:
由于在 gcc5.1 版本之后重新实现了 C++ 底层的 string 类和 list 类,为了与原有方式兼容,引入了双重 ABI。新版本 gcc 默认使用新的 ABI, 即使用新版本 C++ 库,也可通过设置 gcc 参数定义宏_GLIBCXX_USE_CXX11_ABI=0(默认 1 表示新 ABI)以表示使用旧版本的 ABI,使用旧版本的 C++ 库。
在使用驱动之前,要明确项目所使用 gcc 版本、是否使用新的 ABI, 以及编译数据库驱动的 gcc 版本。
若项目使用高版本 gcc(大于 5.1)且使用新的 ABI (默认), 在连接低版本 gcc 编译的驱动时,会报错 undefined symbol,因要求提供高版本 gcc 编译的驱动。
若项目所在系统使用高版本 gcc,但在编译应用时指定了(_GLIBCXX_USE_CXX11_ABI=0)且又使用高版本 gcc 编译的数据库驱动,连接是也会报错,应要求提供低版本 gcc 编译的驱动。
4.2. 工程搭建与迁移
工程搭建
工程迁移
4.2.1. 工程搭建
以下为 Linux 环境下的工程搭建步骤:
将 kbproc 运行库 tar 包解压至需求目录,本例的解压目录为 /home/kingbase/kbproc,
2. 添加环境变量 $KINGBASE_CONFDIR(如.bashrc 中添加 "export KINGBASE_CONFDIR=/home/kingbase/kbproc/"); 该目录下需放置 kbproc 的配置文件 sys_service.conf。如果环境中因使用其他接口库而配置了该环境变量,则可复用该环境变量及其目录下的 sys_service.conf 文件。
3. 将 kbproc 中的 lib 目录添加至环境变量 LD_LIBRARY_PATH 中(如.bashrc 中添加 "export LD_LIBRARY_PATH=/home/kingbase/kbproc/lib:$LD_LIBRARY_PATH");
4. 在 makefile 文件中引入 kbproc 中的两个头文件目录和库文件目录。
4.2.2. 工程迁移
将 Oracle 的 Pro*C 工程迁移至 KingbaseES 是极为简单的,通常不需要在翻译后的代码层进行改动,仅需在 KingbaseES 的 Pro*C 运行时库安装后变更一下编译依赖即可。
使用其他数据库的嵌入式 SQL 应用程序需要特殊处理,即需要将嵌入式 SQL 的源码文件通过 Oracle 的 proc 预编译工具编译后,作为程序源文件来搭建应用工程。
工程搭建 章节中将详细介绍 KingbaseES Pro*C 运行库的安装和使用方法,应用层可按照对应的步骤更改编译依赖, 或者在工程代码编译(非 Oracle 数据库应用)完成后,按照搭建步骤重新搭建依赖 KingbaseES Pro*C 运行库的工程即可。
4.3. 数据库服务与连接配置
Pro*C 的 sys_service.conf 文件配置与 OCI 的配置方法相同,KingbaseES 的 DCI 兼容了 OCI,因此您可以参考《KingbaseES 客户端编程接口指南 - DCI》的 sys_service.conf 文件配置。
详见 KingbaseES 客户端编程接口指南 - DCI 的 DCI 服务的配置方法与参数说明。
4.4. 迁移后确认
迁移完成后,需确认迁移是否成功,以保证迁移后业务正常运行。
迁移完成后,编写一个程序连接到 KingbaseES 数据库,查看是否能连接成功。
程序示例请参考 程序开发示例 中的连接数据库。
尝试运行您的业务,观察是否与迁移前行为一致。
如有疑问,请联系我们的技服人员。
边栏推荐
猜你喜欢
随机推荐
怎么用redis限制同一ip重复刷浏览量
QT添加资源文件、样式表、qss文件使用
【Arduino】重生之Arduino 学僧(3)----Arduino函数
leetcode:172. 阶乘后的零
els 计分
黑马程序员Servlet
Interconversion between numpy PIL tensors
370万欧元!西班牙iPronics加速可重构光子芯片商用
成都高新南区 高新西区 东部新区 多边形范围点位 AOI 高德
密码学的基础:X.690和对应的BER CER DER编码
leetcode:151. 颠倒字符串中的单词
ROS2自学笔记:机器视觉基础
leetcode:153. 寻找旋转排序数组中的最小值
[Static type and dynamic type compile check and run check in Objective-C]
mysql-installer安装教程(详细图文)
【Objective-C语言中的@property增强】
leetcode:149. 直线上最多的点数
豆瓣评分9.3的好书,文末给大家抽奖送几本!
ldap创建公司组织、人员
Spark SQL简介