2014-12-16 4 views
0

Codeigniter - multiple database connections, You have specified an invalid database connection group codeigniter error, firebird - codeigniter connection으로 모든 솔루션을보고 시도했지만 그 중 아무 것도 작동하지 않았습니다.Codeigniter가 파이어 버드에 연결할 수 없습니다.

$db['default']['hostname'] = 'localhost'; 
$db['default']['username'] = 'root'; 
$db['default']['password'] = ''; 
$db['default']['database'] = 'testing'; 
$db['default']['dbdriver'] = 'mysqli'; 
$db['default']['dbprefix'] = ''; 
$db['default']['pconnect'] = TRUE; 
$db['default']['db_debug'] = TRUE; 
$db['default']['cache_on'] = FALSE; 
$db['default']['cachedir'] = ''; 
$db['default']['char_set'] = 'utf8'; 
$db['default']['dbcollat'] = 'utf8_general_ci'; 
$db['default']['swap_pre'] = ''; 
$db['default']['autoinit'] = TRUE; 
$db['default']['stricton'] = FALSE; 


$db['fbird']['hostname'] = "localhost"; 
$db['fbird']['username'] = "SYSDBA"; 
$db['fbird']['password'] = "masterkey";  
$db['fbird']['database'] = "C:\waitkyl.fdb"; 
$db['fbird']['dbdriver'] = "firebird"; 

이 구성 후, 나는 fbird 데이터베이스 이런 식으로 호출

class Fb_model extends CI_Model{ 

    public function __construct(){ 
     parent::__construct(); 
    } 

    public function getAll(){ 
     $db = $this->load->database('fbird', TRUE); 

     return $db->get('categories')->result();  
    } 
} 

그리고 출력에게 값 print_r($this->fb_model->getAll());을 시도한 후 얻을 오류입니다 :

Fatal error: Call to a member function result() on a non-object

보통 것을 의미 'categories'테이블이 존재하지 않습니다. 사실이 아닙니다. 지금 페이지를 새로 고치면

extension=php_pdo_firebird.dll 
extension=php_interbase.dll 

그리고 :

그래서 난에 내 구성 파일을 변경 시도 :

$db['fbird']['hostname'] = "localhost"; 
$db['fbird']['username'] = "SYSDBA"; 
$db['fbird']['password'] = "masterkey";  
$db['fbird']['database'] = "C:\waitkyl.fdb"; 
$db['fbird']['dbdriver'] = "firebird"; 
$db['fbird']['dbprefix'] = ""; 
$db['fbird']['pconnect'] = FALSE; 
$db['fbird']['db_debug'] = TRUE; 
$db['fbird']['cache_on'] = FALSE; 
$db['fbird']['cachedir'] = ""; 
$db['fbird']['char_set'] = "utf8"; 
$db['fbird']['dbcollat'] = "utf8_general_ci"; 

그리고 또한 php.ini 파일 다음 줄에서 ;에서 제거 내가받는 오류는 다음과 같습니다.

Unable to connect to your database server using the provided settings.

Filename: C:\xampp\htdocs\projtesting\system\database\DB_driver.php

Line Number: 124

데이터베이스의 자격 증명이 괜찮은지 확인하려면 소프트웨어 SQL Manager 2008 Lite for Interbase and Firebird에서 열었습니다. 괜찮 았습니다. 잘못된 점에 대한 아이디어가 있습니까?

+0

'즉 보통 테이블 '범주'하지 true.'입니다 것은 기껏 이론이다 exists..which하지 않는 것을 의미한다. 어쨌든,'print_r ($ db-> get ('categories'));을 보아라. – MonkeyZeus

+0

또한 테이블은 Firebird에서 따옴표로 대소 문자를 구분합니다. 코드 네이 터를 모르지만 테이블 이름을 인용 할 수 있습니다. 대신에'CATEGORIES'을 시도해보십시오. –

답변

1

솔루션 : CodeIgniter의 3 (dbdriver = ibase와)

$db['firebird'] = array(
    'dsn' => '', 
    'hostname' => 'localhost', 
    'username' => 'sysdba', 
    'password' => 'masterkey', 
    'database' => 'c:/database.GDB', 
    'dbdriver' => 'ibase', 
    'dbprefix' => '', 
    'pconnect' => FALSE, 
    'db_debug' => (ENVIRONMENT !== 'production'), 
    'cache_on' => FALSE, 
    'cachedir' => '', 
    'char_set' => 'ANSI', 
    'dbcollat' => 'NONE', 
    'swap_pre' => '', 
    'encrypt' => FALSE, 
    'compress' => FALSE, 
    'stricton' => FALSE, 
    'failover' => array(), 
    'save_queries' => TRUE 
); 
관련 문제