首页 > 数据库 > 国内数据库 > GBase 8s PHP连接指南V1.0
欢迎使用PHP与GBase 8s(以下简称GBase)连接指南。此指南旨在为协助GBase管理人员和开发人员提供PHP与GBase成功连接的相关方法,并根据windows和Linux系统配置的不同进行分别阐述。
由于GBase并不是PHP语言默认支持的众多数据库之一,所以我们无法通过PHP已提供的常规数据库驱动来连接Gbase。但是 GBase 对 ODBC3.5X 标准提供支持 , 它提供访问 GBase 所有的 ODBC 功能,PHP语言可以通过ODBC PDO调用ODBC API实现对GBase数据访问的程序。
Windows 操作系统已经集成了ODBC 驱动管理器。通过“控制面板\管理工具\数据源(ODBC)”可以打开。在64 位windows 操作系统中集成了64 位和32 位的ODBC 驱动管理器,64 位客户端应用程序需要调用64 位的ODBC 驱动管理器,它位于“C:\Windows\ System32\odbcad32.exe”;32 位的客户 端应用程序需要调用32 位的ODBC 驱动管理器,它位于“C:\Windows \SysWOW64\odbcad32.exe”。
*如果操作系统为windows 64位,在配置ODBC数据源之前需要先安装GBase ODBC安装包,如需要请联系GBase技术支持人员。

图1-1
在ODBC驱动管理器中选择"系统DSN"标签,如下图。

图1-2
点击"添加",在"创建新数据源"窗口中选择GBase对应的驱动程序,点击完成。

图1-3
在弹出的GBase ODBC配置窗口填写相应的信息,请参照下图。然后点击"测试"(确保此时GBase的服务是开启状态)。

图1-4
如果配置信息填写无误,将弹出以下提示。若测试不成功,请重新核实GBase相关配置信息。

图1-5
点击"确定",在"ODBC数据源管理器"中就会出现GBase ODBC的驱动,如图1-2。
此时GBase ODBC数据源已配置成功。可以进行下一步:PHP ODBC的相关配置。
linux 操作系统下需要安装unixODBC 或iODBC 来使用GBase 8s ODBC 驱动。推荐使用unixODBC 驱动管理器。unixODBC 的安装包一般与GBase 8s ODBC 的安装一同提供。您可以到unixODBC 官方网站下载。
首先进入系统盘目录,例如"/media/RHEL-6.6 Server.x86_64/Packages",安装下面这两个安装包。
(1)unixODBC-2.2.14-1.x86_64.rpm:unixODBC的数据源管理器
(2)unixODBC-devel-2.2.14-1.x86_64.rpm:unixODBC的开发包

图1-6
安装成功后您可以通过如下命令查看 unixODBC 的安装信息:

图1-7
进入" /opt/GBase/ODBC" 目录,查看此文件夹下的文件。并运用ldd命令查看GBase ODBC的动态链接库libgsodbc8.so所需的共享库文件是否都存在,如下图。如果有"Not found"显示,则需要重新检查GBase ODBC的安装。

图1-8
通过gsodbc-installer执行以下两个命令完成GBase ODBC的驱动以及数据源的注册。


图1-9
看到上图提示信息之后我们可以用以下命令具体查看相应的配置文件里面的注册信息是否正确。如下图。
(1) vi /etc/odbcinst.ini

图1-10
(2) vi /etc/odbc.ini

图1-11
到此Linux下GBase ODBC已经配置完成,我们可以通过isql来验证ODBC是否配置成功。
我们通过isql来验证ODBC是否配置成功。如下图。

图1-12
PDO扩展是在PHP5中加入,该扩展提供PHP内置类 PDO来对数据库进行访问,不同数据库使用相同的方法名,解决数据库连接不统一的问题。
版本要求:php5.1以及以后版本的程序包里已经带了;php5.0.x则要到pecl.php.net下载,放到你的扩展库,就是PHP所在的文件夹的ext文件夹下。
修改你的php.ini配置文件,使它的扩展库支持pdo_odbc。如下图。我以php-5.5.23-Win32-VC11-x64为例。


图1-5
通过这样的设置,就可以完成PDO ODBC的安装,接下来我们可以通过相关代码来实现PHP与GBase的连接。
关于PHP PDO的各种函数使用,我们在这里不做过多赘述。下面我们通过一段PHP示例代码来详细说明一下与GBase的连接。
<?php
try {
$driver = 'GBase ODBC 8.3 Driver'; // 数据库驱动名称
$server = '127.0.0.1'; // 数据库主机名或IP
$port = '5258'; // 端口号
$database = 'gbase'; // 连接的数据库名
$user = 'sysdba'; // 用户名
$password = 'sysdba'; // 密码
/*GBase数据源定义*/
$dsn="odbc:DRIVER={$driver};SERVER=$server;PORT=$port;DATABASE=$database;UID=$user;PWD=$password";
$db = new PDO($dsn); // 初始化PDO对象
echo "connect success!<br/>";
/*进行查询操作*/
$rs = $db -> query("select * from user_info");
while($row = $rs -> fetch()){
print_r($row);
}
$db = null;
}catch (PDOException $e) {
print "Error: " . $e->getMessage() . "<br/>";
die();
}
?>
在初始化PDO对象,也就是创建数据库连接对象$db时,需要在其中写明数据库驱动,数据库主机名,端口号,数据库名,用户名和密码等必要信息。如图所示。
在执行完以上代码段之后,我们可以看到以下结果,说明PHP与GBase连接成功。

图1-6
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69980677/viewspace-2752519/ ,如需转载,请注明出处,否则将追究法律责任。