2016-04-25 3 views
1

Also habe ich versucht, ein gutes Modul für die Abfrage von Informationen in meinen Unternehmen POSTGRES-Datenbanken zu finden. Es gibt so viele Modelle, aber ich kann nur scheinen, Pyodbc zu arbeiten.Warum verbinden sich psycopg2 und pyodbc unterschiedlich mit Datenbanken? Und wie könnte ich eine Verbindung übersetzen?

Warum ist pyodbcs Verbindungsform anders als psycopg2, was das überlegene Modul zu sein scheint?

Und wie würde ich meine Verbindungsanfrage von einem zum anderen translate?


kann ich mit Pyodbc kein Problem, mein Unternehmen Server wie folgt verbinden.

pyodbc.connect("DRIVER={SQLServer};SERVER=some\servername;DATABASE=someDatabaseName;Trusted_Connection=yes") 

Aber das funktioniert nicht für, psycopg2 mit:

psycopg2.connect(database="someDatabaseName", host="some\servername") 

psycopg2 kehrt:

OperationalError: could not translate host name "some\servername" to address: Unknown host



Of Thema:
Ich hoffe, dass jemand helfen kann, einfach mein Heroku Server nicht Pyodbc

+1

Bitte bestätigen Sie den RDBMS-Typ - Ihre Frage erwähnt Postgres, aber "Pyodbc" Code-Beispiel verweist auf einen SQL Server-Treiber. Welches ist es? 'psycopg2' funktioniert nicht mit SQL Server. – Bryan

+0

@Bryan Ich denke, ich bin hier außerhalb des Geltungsbereichs. (Lernen!) Ich denke, ich greife auf einen SQL Server mit Postgres SQL-Datenbanken eingerichtet. Ist das möglich? Update: Der Treiber ist ein Microsoft SQL Server. Also sollte die Lösung ein anderes ODBC-Modul als pyodbc finden oder eine Möglichkeit finden, es auf meinem Server zu installieren, da Module wie psycopg2 nicht funktionieren werden? – MadsVJ

+0

Wir lernen alle, deshalb sind wir hier! :) Es ist nicht möglich, Postgres-Datenbanken auf SQL Server zu hosten. Diese Softwareprodukte schließen sich gegenseitig aus. – Bryan

Antwort

1

pyodbc ist ein Python-Modul installieren möchte, der verwendet werden kann, um viele verschiedene Arten von Datenbanken API mit dem ODBC zu verbinden. Insbesondere ist pyodbc konform mit der DB API 2.0 Spezifikation.

Ihr Arbeitscodebeispiel verwendet eine ODBC-Implementierung eines SQL Server-Treibers, um eine Verbindung mit einer SQL Server-Instanz herzustellen. Treiber sind DBMS-spezifisch, ODBC ist nicht.

Verwandte Themen