神通数据库连接手册

1、扩展安装

目前连接神通数据库有两种方式

ODBC PDO_ACI
具体请看手册,目前使用PDO_ODBC方法PS:请看操作2 目前只有64位有pdo_aci.so文件,需要在神通数据库的安装目录里面找到PDO_ACI目录,并找到对应版本号将文件拷贝到当前php的扩展里面,并修改php.ini文件 PS:请看操作1

操作1:

#这里以php7.1测试为主

#神通数据库安装完的目录,并进入到PDO_ACI目录
cd /opt/ShenTong/PDO_ACI #拷贝pdo_aci.so到php扩展
cd php7.1/
cp ./pdo_aci.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
----------------------------------------------------------------------------------
#修改php.ini 如果这里有了pdo_odbc 请先注释掉
extension=pdo_odbc.so
----------------------------------------------------
重启php-fpm 看看是否存在pdo_aci

操作2:

目前我们统一使用的unixodbc组件来连接非windows平台的odbc
神通数据库自己设置了dns连接比如:
定义驱动和数据源名称 [ODBC Data Sources]
ST = OSCAR ODBC DRIVER [ST]
Driver = /opt/ShenTong/odbc/lib/liboscarodbcw.so
Servername = xx.xx.xx.xx
Port = 2003
Database = OSRDB
Username = xxx
Password = 123x456
SocketBufferSize = 4096
FetchBufferSize = 100 而在php下面使用的时候用ST找不到驱动,OSCAR ODBC DRIVER会卡死
所以先写将odbc.ini写入到环境变量
putenv('ODBCSYSINI=/usr/local/etc');
putenv('ODBCINI=/usr/local/etc/odbc.ini');
$username = "xxx";
$password = "123456";
try {
$dbh = new PDO("odbc:ST",
"$username",
"$password"
);
} catch (PDOException $exception) {
echo $exception->getMessage();
exit;
} $stmt = $dbh->prepare("SELECT * FROM REGISTRY");
$stmt->execute();
while ($row = $stmt->fetch()) {
print_r($row);
}

2、数据库配置

CI框架数据库配置如下:

$db['default'] = array(
'dsn' => 'aci:dbname=XX.XX.XX.XX:2003/osrdb;',
'username' => 'CJP',
'password' => '123456',
'database' => 'osrdb',
'dbdriver' => 'pdo',
'dbprefix' => '',
'pconnect' => false,
'db_debug' => true,
'cache_on' => false,
'cachedir' => 'cache/mysql',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => false,
'compress' => false,
'stricton' => false,
'failover' => array(),
'save_queries' => false
);

以上为数据库配置,配置会运行会报出

not found driver(好像是这个 忘了)

这是因为ci框架里面的pdo没有以aci的驱动文件。这里需要在system3.1.5里面添加aci的驱动文件

代码如下:

vim /system3.1.5/database/drivers/pdo/subdrivers/pdo_aci_driver.php(这个文件不存在,自己添加)
<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class CI_DB_pdo_aci_driver extends CI_DB_pdo_driver {

/**
* Sub-driver
*
* @var string
*/
public $subdriver = 'aci'; // -------------------------------------------------------------------- /**
* ORDER BY random keyword
*
* @var array
*/
protected $_random_keyword = array('RANDOM()', 'RANDOM()'); // -------------------------------------------------------------------- /**
* Class constructor
*
* Builds the DSN if not already set.
*
* @param array $params
* @return void
*/
public function __construct($params)
{
parent::__construct($params); } }

3、操作方法

$result=$this->db->get('REGISTRY')->row_array();
$this->db->insert('REGISTRY',['NAME'=>'test1','VALUES'=>'test1']);
echo $this->db->last_query(); var_dump($this->db->insert_id()); 数据库版本号获取
$version=$this->db->version();
//查询表
$get=$this->db->get('REGISTRY');
//获取记录数
$count_all_results=$this->db->count_all_results('REGISTRY');
//插入数据
$insert=$this->db->insert('REGISTRY',['NAME'=>'test1','VALUES'=>'test1']);
//获取插入的记录数
var_dump($this->db->insert_id());

php连接神通数据库 ci框架的更多相关文章

  1. CI框架浅析(全篇)

        业余花了点时间看看CodeIgniter框架(简称CI),CI目前的稳定版本是 3.X,4.0版本已经出来了,但还在测试中,所以我分析的还是 3.x 版本. CI是一个很轻便的框架,整个下载包 ...

  2. CI框架浅析

    CI框架浅析(全篇)     业余花了点时间看看CodeIgniter框架(简称CI),CI目前的稳定版本是 3.X,4.0版本已经出来了,但还在测试中,所以我分析的还是 3.x 版本. CI是一个很 ...

  3. SpringBoot+神通数据库+JPA

    先上原文 https://blog.csdn.net/Helloworld_pang/article/details/114266130 一.SpringBoot + 神通数据库 基本上按照上面的参考 ...

  4. 【转】最简单的CI框架入门示例--数据库取数据

    1.下载CI框架(自己找) 2.配置 database.php配置:    为数据库服务器设置 connection 参数: $db['default']['hostname'] = "yo ...

  5. 最简单的CI框架入门示例--数据库取数据

    前提: 安装好MySQL,Apache,PHP. 1.下载CI框架 下载地址  http://www.codeigniter.com/ 2.配置 database.php配置:    为数据库服务器设 ...

  6. php的CI框架相关数据库操作

    在使用之前首先应该配置数据库的参数,详见文件application/config/database.php,里面包含主机名,登陆用户名,登录密码,数据库名,编码信息等. 在配置成功后,可以简单的调用: ...

  7. ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库

    前段时间在园子里看到了小蝶惊鸿 发布的有关绿色版的Linux.NET——“Jws.Mono”.由于我对.Net程序跑在Linux上非常感兴趣,自己也看了一些有关mono的资料,但是一直没有时间抽出时间 ...

  8. 视频教程--ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库

    说好的给园子里的朋友们录制与<ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库> 这篇博客相对应的视频,由于一个月一来没有时 ...

  9. CI框架 数据库批量插入 insert_batch()

    使用CI框架的AR操作:insert_batch()可以减少访问数据库的次数.一次访问即可. 示例1: $data = array( array( 'title' => 'My title' , ...

随机推荐

  1. uint16_t

    转自:https://blog.csdn.net/kiddy19850221/article/details/6655066 uint8_t / uint16_t / uint32_t /uint64 ...

  2. 题解【QTree3】

    题目描述 给出N个点的一棵树(N-1条边),节点有白有黑,初始全为白 有两种操作: 0 i : 改变某点的颜色(原来是黑的变白,原来是白的变黑) 1 v : 询问1到v的路径上的第一个黑点,若无,输出 ...

  3. vue项目的elementui的form表单label的对齐方式和 el-date-picker 的长度设置

    1.先按照官网的  :label-position  属性玩了一下毫无效果:发现单独使用这个属性是无效的,必须和  label-width 属性一起使用才生效: 如: <el-form :mod ...

  4. C#实例(经典):四路光电开关&激光雷达数据采集和波形图绘制

    前言:本文全部纯手工打造,如有疏漏之处,还请谅解! 如果需要查看更多文章,请微信搜索公众号 csharp编程大全,需要进C#交流群群请加微信z438679770,备注进群, 我邀请你进群! ! ! 这 ...

  5. 使用python编写正逆序乘法表

    # 99乘法表 # 顺序 for i in range(1,10): n = 1 while n <= i: print('{}x{}={}'.format(n,i,n*i),end=' ') ...

  6. pytest文档48-切换 base_url 测试环境(pytest-base-url)

    前言 当我们自动化代码写完成之后,期望能在不同的环境测试,这时候应该把 base_url 单独拿出来,能通过配置文件和支持命令行参数执行. pytest-base-url 是 pytest 里面提供的 ...

  7. allure安装

    allure是一个通用的测试报告框架 下载地址:http://allure.qatools.ru/ 第一步:进入该页面,右上角有个download,点击进入github页面,选择最新版本下载到某个路径 ...

  8. 【多次实践】win10+ubuntu18.04lts双系统安装葵花宝典(安装篇)

    这个教程诞生的缘由很简单,吃的太饱,硬是要折腾,结果,这一折腾便是20余小时,故写此文,帮助后来者少走弯路! 在本文开始,请先允许我对网上很多类似的教程嗤之以鼻,很成功地让我走了很多的弯路,一些有效简 ...

  9. Git操作文件的时候手贱了,怎么恢复?

    我们在使用git的过程当中很难避免的一点就是手贱,因为人嘛总有犯错疏忽的时候,有时候一不小心就操作错了.我也经常遇到这种情况,所以这时候对git的了解和掌握就非常重要,即使操作错了,我们也可以通过gi ...

  10. oracle强制修改字符集

    首先查看服务端字符集 select * from v$nls_parameters where parameter = 'NLS_CHARACTERSET' NLS_CHARACTERSET WE8M ...