2013-04-10 3 views
0

누구나 helpem을 사용하여 codeigniter에서 db2 데이터베이스의 adodb 로더를 작성할 수 있습니다. 일부 라이브러리를 사용하려고 시도했지만 oracle 데이터베이스에서 작동하지만 이제는 IBM DB2에 새 codeigniter 애플리케이션을 연결하는 것을 혼동합니다. 이것은 oracle 용 adodbloader입니다.php - codeigniter에서 adodb db2 loader를 작성하십시오.

 

    <?php if (!defined('BASEPATH')) exit('No direct script access allowed'); 

    Class Adodbloader{ 
     function Adodbloader(){ 
      if (!class_exists('ADONewConnection')) 
       require_once(BASEPATH.'/system/libraries/adodb/adodb.inc.php'); 

      $obj =& get_instance(); 
      $this->_init_adodb_library($obj); 
     } 

     function _init_adodb_library(&$ci) { 
      $db_var = false; 
      $debug = false; 

      if (!isset($dsn)) { 
       // fallback to using the CI database file 
       include(APPPATH.'config/database'.EXT); 
       $group = 'default'; 
       $dsn = 'oci8://my_dbusername:[email protected]_dbhostname/my_oracledb'; 
      } 

      // $ci is by reference, refers back to global instance 
      $ci->adodb =& ADONewConnection($dsn); 

      if ($db_var) { 
       // also set the normal CI db variable 
       $ci->db =& $ci->adodb; 
      } 

      if ($debug) { 
       $ci->adodb->debug = true; 
      } 
     } 
    } 
    ?> 

이 같은 DB2 모양에 대한 ADODB의 수동 연결 :

 

    include('adodb/adodb.inc.php'); 
    $dbms = 'odbc_db2'; 
    $db =& ADONewConnection($dbms); 
    $dsn = "driver={IBM db2 odbc DRIVER};Database=MY_DBNAME;hostname=MY_DBHOST;port=50000;protocol=TCPIP;"."uid=MYDBUSERNAME; pwd=MY_DBPASSWORD"; 
    $db->Connect($dsn); 

내 질문에 지금 내가 변수 $ DB를 사용할 수 있도록, CodeIgniter를 통합 할 것을 수동 ADODB DB2는 연결을 사용하는 방법 내 모든 응용 프로그램 모델에서. 내 문제에 대한 해결책을 제공 해주신 모든 분들께 고마워요.)

답변

0

이 작업도 수행하려고했지만 CI 문서에서 데이터베이스 클래스를 재정의하거나 확장하거나 바꿀 수없는 것으로 보입니다.

이 페이지를 참조하십시오 : http://ellislab.com/codeigniter/user-guide/general/creating_libraries.html

내가 /system/database/DB.php에 하드 코딩 된 경로와 클래스 이름이 많이있는 것처럼 보이는 코드를 단계별로.

비록 내가 잘못 입증하고 싶습니다.