CI 묻고 답하기

제목 db 연동 관련입니다 (PDO)
글쓴이 오징어1 작성시각 2016/08/23 10:11:23
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 15725   RSS

PDO를 이용해서 mssql에 접근하려 합니다.

 

config/database.php에

'dsn'    => 'dblib:host:mssqldb;dbname=GService;MultipleActiveResultSets=false;charset=utf8',

 

이렇게 입력을 하고 접근 하려 하면 

SQLSTATE[HY000] Unable to connect: Adaptive Server is unavailable or does not exist (127.0.0.1) (severity 9)

이러한 에러가 뜨는데

 

system/database/drivers/pdo/pdo_driver.php에서

db_connect 함수에

$this->dsn = 'dblib:host=mssqldb;dbname=GService;MultipleActiveResultSets=false;charset=utf8'

이런식으로 직접적으로 입력해주면 접근이 됩니다.

 

왜이럴까요?

 다음글 페이지네이션 링크 관련 질문. (5)
 이전글 쿼리 결과 어떻게 접근하는 거였죠?? 반복문 제외요 (2)

댓글

kaido / 2016/08/23 10:25:12 / 추천 0

database.php 상단 주석에 보시면

|    ['dbdriver'] The database driver. e.g.: mysqli.
|            Currently supported:
|                 cubrid, ibase, mssql, mysql, mysqli, oci8,
|                 odbc, pdo, postgre, sqlite, sqlite3, sqlsrv

 

이렇게 나와 있네요.

'dbdriver' => 'pdo',

오징어1 / 2016/08/23 11:04:53 / 추천 0
dbdriver는 pdo로 설정 되어 있습니다.
kaido / 2016/08/23 11:44:56 / 추천 0

// V3.0+  our pdo config

$db['pdo'] = array(
	'dsn'	=> 'mysql:host=localhost;dbname=codeigniter',
	//'hostname' => 'localhost',
	'username' => 'codeigniter',
	'password' => 'codeigniter',
	'database' => 'codeigniter',
	'dbdriver' => 'pdo',
...

// V2.0+  our pdo config

$db['pdo']['hostname'] = 'mysql:host=localhost;dbname=codeigniter';
$db['pdo']['username'] = 'codeigniter';
$db['pdo']['password'] = 'codeigniter';
$db['pdo']['database'] = 'codeigniter';
$db['pdo']['dbdriver'] = 'pdo';
...	

이런식으로 설정 되어있나요?

오징어1 / 2016/08/23 12:43:57 / 추천 0

kaido

넵 그런식으로 설정되어 있습니다.

위에서 말씀 드렸듯이 database.php에서 설정하면 안되고

database.php에서 설정한거를 pdo_driver.php에서 직접 써 넣으면 됩니다.