2011-01-12 3 views
1

Yii 1.1.5의 소스 파일을보고 있는데 ODBC 용 데이터베이스 스키마가 보이지 않습니다. 내 설정 파일이 연결 문자열을 사용하는 경우 :Yii에서 ODBC 데이터베이스 스키마가 없습니까?

'db'=>array(
    'connectionString' => 'odbc:rhinestone', 
    'username' => 'user', 
    'password' => 'pass', 
), 

나는이 오류를 얻을 : 그러나

"CDbConnection does not support reading schema for ODBC database." 

을, 나는 일반 PHP에서 해당 연결 문자열을 사용할 수 있으며 잘 연결 :

$dbh= new PDO('odbc:rhinestone', 'user', 'pass'); 

그래서 내 드라이버 나 PHP에는 문제가 없다는 것을 알고 있습니다.

Yii가 ODBC를 지원하지 않는 이유는 무엇입니까? 이것은 바뀔 것입니까? 내가 리눅스 서버에서 MSSQL에 연결하려고하고있어 pdo mssql 및 dblib 드라이버가 실험용이거나 비추천 된 것으로 보입니다.

아무에게도이를 수행하는 방법에 대한 조언이 있습니까?

업데이트 : 지금까지 Windows에서 PHP를 실행 중임을 전제로 여러 가지 제안을 받았습니다. 그렇지 않다. Linux에서 실행 중이므로 프로젝트를 위해 SQL Server 데이터베이스에 연결해야합니다.

답변

1

이 질문에 대한 대답은이 글을 쓰는 시점에서 pdo_odbc에 대한 스키마가 없다는 것입니다. 그리고 제가 말할 수있는 한, 그들은 하나를 쓸 계획이 없습니다. 아무도 듣지 않으면 알려주세요.

0

난 easysoft에서 오픈 소스가 아닌 드라이버를 사용하고 그것은 제대로 작동했습니다.

Windows 서버 컴퓨터에 yii 스택을 설치하는 또 다른 해결 방법을 사용했으며 Microsoft의 MSSQL PHP 드라이버를 사용하여 마지막으로 here을 보았습니다. 사용할 수있는 후

'db'=>array(
    'connectionString' => 'sqlsrv:server=(local)\SQLEXPRESS ; Database=mydb', 
) 
+0

저는 Linux 환경에서 PHP를 실행 중이므로, 뭔가를 놓치지 않으면 이것을 사용할 수 없습니다. –

+0

네, 그런 식으로 해결할 수 있다고 생각했는데 : p와 나는 dblib을 권장하지 않습니다 ... 왜냐하면 활성 레코드의 이상한 결과에 문제가 있었기 때문입니다. 또 다른 아이디어는 yii에서 모델을 거절하고 곧바로 쿼리로 진행됩니다. p – ZaQ

+0

게시 된 작업은 dbLib에서도 작동합니다. 연결 문자열을 사용할 계획이라면 dblib ..을 지원합니다. ODBC를 지원하지는 않지만 여전히 Windows 환경에서 사용하는 방식으로 사용할 수 있습니다. –

관련 문제