2017-07-19 1 views
0

Je suis en train de se connecter à ma base de données dans SQL Server 2000, mais je reçois une erreurConnexion à un db avec Doctrine PDO_SQLSRV

n'a pas pu trouver pilote

quand je suis en utilisant pdo_sqlsrv. Mais si j'utilise sqlsrv j'obtiens une erreur

a tenté d'appeler la fonction "sqlsrv_configure" de l'espace de noms "Doctrine \ DBAL \ Driver \ sqlsrv".

Voici mon config.yml

config.yml

doctrine: 
    dbal: 
     default_connection: default 
     connections: 
      default: 
       dbname: "%database_name%" 
       user: "%database_user%" 
       password: "%database_password%" 
       host: "%database_host%" 
       driver: pdo_mysql 
       charset: utf8mb4 
       default_table_options: 
        charset: utf8mb4 
        collate: utf8mb4_unicode_ci 
      connection2: 
       dbname: "%database_name2%" 
       user: "%database_user2%" 
       password: "%database_password2%" 
       host: "%database_host2%" 
       driver: pdo_sqlsrv 
       #driver: sqlsrv i've also tried this 
       #charset: utf8mb4 
       default_table_options: 
        charset: utf8mb4 
        collate: utf8mb4_unicode_ci 

Quelqu'un sait pourquoi je reçois ces erreurs?

Répondre

0

Pouvez-vous essayer:

driver:  pdo_sqlsrv 
database_port: 1433 

Je ne sais pas si cela fonctionnera, mais l'essayer.

+0

Alvin Bunk merci, mais ne fonctionne pas, je l'ai essayé la connexion d'une autre manière juste pour vérifier les paramètres sont corrects et a été réussi, je pense que le problème est dans le conducteur ou je ne sais pas ce que pourrait être. –

0

Si la fonction sqlsrv_configure est introuvable, l'extension sqlsrv n'est pas installée. Il peut être trouvé sur le référentiel officiel de Microsoft here.

Vous pouvez vérifier si vous avez installé l'extension en exécutant la commande php -m dans votre terminal. Notez que si vous exécutez Symfony sur un serveur autonome (par exemple, MAMP, XAMP ou toute autre application utilisant une version non-CLI de PHP), les extensions utilisées par la CLI et le serveur autonome peuvent différer.

Vous pouvez tester cela en accédant au profileur dans Symfony (/_profiler par défaut) et en cliquant sur le lien "Afficher la configuration PHP complète" sous l'élément de menu Configuration. Cela ouvrira l'écran phpinfo(). Recherchez les extensions sqlsrv ou pdo_sqlsrv.

EDIT

En regardant le Doctrine docs encore, il semble que pdo_sqlsrv cause des problèmes. Doctrine recommande d'utiliser sqlsrv.

pdo_sqlsrv: Un pilote Microsoft SQL Server qui utilise pdo_sqlsrv PDO Notez que ce pilote a causé des problèmes lors de nos tests. Préférez le pilote sqlsrv si possible.

(Emphasis pas le mien)