2010-08-05 39 views
1

J'ai une configuration en utilisant Pyodbc, UnixODBC et FreeTDS, mais quelque part là-dedans certaines options sont en cours de définition et je ne sais pas où. Selon SQL Server Management Studio, mon programme envoie certains paramètres quand il ouvre la connexion:Définir les paramètres de connexion avec Pyodbc + UnixODBC + FreeTDS

set quoted_identifier off 
set ansi_padding off 
set ansi_nulls off 
... 

Mais je besoin d'un autre ensemble de paramètres:

set quoted_identifier on 
set ansi_padding on 
set ansi_nulls on 
... 

Y at-il moyen de changer cela? Si je ne peux pas le faire avec ma configuration actuelle, existe-t-il d'autres bibliothèques que je pourrais utiliser en Python pour me permettre de le changer (de préférence en utilisant l'API Python Database)?

La modification des paramètres dans la base de données n'est pas une option car j'ai un tas d'autres projets qui utilisent mes paramètres actuels.

Résolu:

réponse de Mark était correcte, mais je ne pouvais pas le faire fonctionner avec FreeTDS/UnixODBC. Ajout de cette information à mon dossier odbc.ini ont parfaitement fonctionné bien:

[servername] 
... other options .. 
AnsiNPW = YES 
QuotedID = YES 

Répondre

2

Selon MSDN, vous devriez être en mesure de mettre ces derniers dans la chaîne de connexion:

cnxn = pyodbc.connect("DSN=someDSN;UID=someUser;PWD=somePass;QuotedID=Yes;AnsiNPW=Yes") 
+0

Pour une raison quelconque, la définition de cette connexion dans la chaîne n'a pas fonctionné, mais en ajoutant ces paramètres à mon fichier odbc.ini travaillé. –