masterpis / db2as400

Db2 As400连接的包。基于通用连接字符串COM和ODBC的连接

v1.0.7 2018-12-19 02:17 UTC

This package is auto-updated.

Last update: 2024-09-08 07:38:20 UTC


README

使用COM dot net和ODBC驱动程序管理与Db2 As400连接的包。它基于lumen laravel构建。这是一个用于简化DB2 As400连接的属性和方法集合。该库的主要目的是在我的小型组织中标准化代码。它将提供数据库连接的基本操作。

如何在您的项目中使用它。

在您的lumen / laravel项目目录中运行此脚本 composer require masterpis/db2as400

在laravel或lumen项目的.env文件中进行数据库配置

如果您使用ODBC驱动程序,可以使用以下配置

DB2_DRIVER=ODBC
DB2_CATALOG=
DB2_HOST=192.168.x.xx
DB2_USERNAME=user_odbc
DB2_PASSWORD=pass_odbc

如果您使用COM驱动程序,可以使用以下配置

DB2_DRIVER=COM
DB2_CATALOG=S651658X
DB2_HOST=192.168.x.xx
DB2_USERNAME=user_com
DB2_PASSWORD=pass_com

如果您有多个环境变量ODBC

DB2_DRIVER=ODBC
DB2_CATALOG=
DB2_HOST=192.168.x.xx|192.168.xx.xxx
DB2_USERNAME=user1|user2
DB2_PASSWORD=pass1|pass2

如果您有多个环境变量COM

DB2_DRIVER=COM
DB2_CATALOG=S651658X|S651658Y
DB2_HOST=192.168.x.xx|192.168.xx.xxx
DB2_USERNAME=user1|user2
DB2_PASSWORD=pass1|pass2

打开您的模型,移除默认的eloquent并使用以下代码加载此包 use Masterpis\Db2as400\Model;

将扩展从默认的eloquent更改为此包

<?php 
namespace App;
use Masterpis\Db2as400\Model;

class Employee extends Model{
    protected $table ="oplenhp.employee";
    protected $fields= ["id", "name", "phone"];
    
    public function __construct(){
        parent::__construct();
    }                        
}
?>

在控制器中使用您的模型

<?php 

namespace App\Http\Controllers;

use App\Employee;
use Laravel\Lumen\Routing\Controller as BaseController;

class TestController extends BaseController{

    public function get()
    {
        $mmusid = new Employee;
        $mmusid->where(['id'=>'1']);
        $a=$mmusid->first();
        dd($a)
    }

}

方法参考

Clause configuration. Call method before method where();
/**
 * The query clause like.
 * @param array
 * @return void 
 */
$mmusid->like($like) 

/**
* The query clause order
* @param array
* @return void
*/
$mmusid->orderBy($order)

/**
 * The query clause limit
 * @param int
 * @return void
 */
$mmusid->limit($limit)

/**
 * The server RDBMS, for multiple env only
 * @param int
 * @return void
 */
$mmusid->setServer($server)

/**
* The user in charge. Registered user running commands
* @param @string
* @return void
*/
$mmusid->setUser($user)

主方法

/**
 * The query clause where
 * @param array $where
 * Simple clause where ex. ["field"=>"keyword"]
 * Complex clause on where ex 
 * [""=>"(field1='".$keyword1."' or field2='".$keyword2."') and field2 like '%".keyword3."%'"]
 * @param string $console
 * NULL, CONSOLE will display query generated, ASPARAM will assign query to var $query
 * @return void 
 */
$mmusid->where($where=NULL, $console=NULL)

/**
 * Get list array of executed query 
 * @return array
 * @return false
 */
$mmusid->get()

/**
 * Get single array of executed query 
 * @return array
 * @return false
 */
$mmusid->first()

/**
 * @param array filter
 * @return int 
 */
// generate select count(*) from xxx
$mmusid->count($filter=NULL)

// Generate insert into query
/**
* @var array $person
* @var string $console=NULL
* return void 
*/
$mmusid=>insert($person)

//Generate delete query
/**
* @var array $filter=NULL
* @var string $console=NULL
* @return void
*/
$mmusid->delete($filter) 

    ```
    
    
> Compability
You have to install driver COM or ODBC to make it run.
If you have iSeries packages like iSeries Navigator, you can install it, the driver automatically installed