神通数据库连接手册

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. TCHAR数据类型介绍

    转载:https://blog.csdn.net/mousebaby808/article/details/5259944 并不是所有的Windows操作系统都支持UNICODE编码的API(例如早期 ...

  2. P6268 [SHOI2002]舞会

    题目描述 Link 某学校要召开一个舞会.已知学校所有 \(n\) 名学生中,有些学生曾经互相跳过舞.当然跳过舞的学生一定是一个男生和一个女生.在这个舞会上,要求被邀请的学生中的任何一对男生和女生互相 ...

  3. 带着好奇心去探索IDEA

    带着好奇心去探索IDEA 工欲善其事必先利其器 软件是提高工作效率的工具.所以了解工具的特性,操作方式,能更好地使用它.一般使用掌握逻辑: 第一步:了解菜单栏-工具栏-其他窗口: 第二步:实战,真正利 ...

  4. 安装memcache,步骤

    1.先下载emcache.rar安装包<ps:随便安装在哪里文件夹,或者新建文件夹都是可以的> 2.解压安装包<ps:运行里面的程序> 3.然后根据自己的phpstudy的版本 ...

  5. mysql通配符_,%查询

    模糊查询 在使用模糊查询的时候,mysql使用的是最左原则,所以模糊查询语句: select * from sys_user where user_name like '#{userName}%' 我 ...

  6. CSS字体属性与文本属性

    CSS字体属性与文本属性 1. 字体属性 1.1 字体系列font-family p { font-family: "Microsoft Yahei";/*微软雅黑*/ } /*当 ...

  7. 多测师讲解selenium _下拉框的定位_高级讲师肖sir

    from selenium import webdriver from selenium.webdriver.support.ui import Select#导入类from time import ...

  8. Verilog基础入门——Vivado流水灯工程(四)(实验报告)

    今日进行了数字逻辑实验,完成了一个最简单的FPGA设计,即流水灯设计. 此处记录我们的指导文件以及实验报告,同时记录遇到的问题及解决方法. 一.vivado工程源文件编写 counter.v文件 `t ...

  9. msyql查看连接数

    连接数 SHOW FULL PROCESSLIST 1.  查看允许的最大并发连接数 SHOW VARIABLES LIKE 'max_connections'; 2.  修改最大连接数 方法1:临时 ...

  10. centos8上使用lsblk查看块设备

    一,查看lsblk命令所属的rpm包 [root@yjweb ~]# whereis lsblk lsblk: /usr/bin/lsblk /usr/share/man/man8/lsblk.8.g ...