2011-01-12 2 views
1

Je regarde les fichiers source pour Yii 1.1.5, et je ne vois pas un schéma de base de données pour ODBC. Quand j'utilise cette chaîne de connexion dans mon fichier de configuration:Aucun schéma de base de données ODBC dans Yii?

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

Je reçois cette erreur:

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

Cependant, je peux utiliser cette chaîne de connexion en php régulière et se connecter très bien:

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

Donc, je sais que ce n'est pas un problème avec mes pilotes ou avec PHP.

Pourquoi ne prend pas en charge ODBC Yii? Est-ce que cela va changer? J'essaie de me connecter à MSSQL à partir d'un serveur Linux et il semble que les pilotes pdo mssql et dblib soient expérimentaux ou obsolètes.

Quelqu'un at-il des conseils sur la façon de le faire?

MISE À JOUR: J'ai reçu un certain nombre de suggestions jusqu'à présent tout en faisant les hypothèses que je cours PHP sur Windows. Ce n'est pas le cas. Je l'utilise sous Linux et je dois me connecter à une base de données SQL Server pour un projet.

Répondre

1

La réponse à cette question est que, de cette écriture, Yû ne dispose pas d'un schéma pour PDO_ODBC. Et pour autant que je sache, ils n'ont pas l'intention d'en écrire un. Si quelqu'un entend le contraire, s'il vous plaît faites le moi savoir.

0

J'ai utilisé le pilote non open source d'easysoft et tout s'est bien passé. J'ai également utilisé une autre solution de contournement, qui installait la pile yii sur la machine serveur Windows, et il suffit d'utiliser le pilote PHP MSSQL Php, je l'ai vu pour la dernière fois here. Après cela, vous pouvez utiliser

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

Je suis en cours d'exécution PHP dans un environnement Linux, donc je ne peux pas utiliser à moins que je me manque quelque chose. –

+0

Oui je pensais que vous pouvez avoir une sorte de solution de contournement de cette façon: p et je ne recommanderais pas dblib ... parce que j'ai eu des problèmes avec les résultats étranges des enregistrements actifs. Une autre idée serait de renoncer au modèle depuis le yii, et de continuer tout droit avec des requêtes: p – ZaQ

+0

Le travail autour de vous posté fonctionne également avec dbLib. Si vous avez prévu d'utiliser la chaîne de connexion comme vous le faites maintenant, cela fonctionne également avec dblib. Le support ODBC n'est pas disponible, mais vous pouvez toujours l'utiliser comme vous le faites actuellement dans l'environnement Windows. –