2017-02-21 2 views
0

Ich verwende das Pymssql-Modul. Und ich versuche, die Datentypen meiner Spalten zu extrahieren. Nach dem github code sollte es möglich sein, darauf zuzugreifen durch connection.column_types Aber ich erhalte den folgenden Fehler:Zugriff auf Spalte_Typen in Pymssql Verbindungsklasse

AttributeError: '_mssql.MSSQLConnection' object has no attribute 'column_types' 

Ich verstehe nicht, was ich falsch mache. Ich habe das richtige Objekt, ich schaffe meine Verbindung mit dem _mssql.connect() Methode:

pymssql._mssql.connect(server=HOST, port=PORT, user=USR, password=PWD, **KWARGS) 

(Aber selbst wenn ich die DBAPI verbinden bin mit() -Methode pymssql.connect():

pymssql.connect(host=HOST, port=PORT, user=USR, password=PWD, **KWARGS) 

Und dann versuche ich Zugriff auf die darunter liegende Verbindungsklasse cursor._source._conn.column_types es auch aus dem gleichen Grund nicht:

AttributeError: '_mssql.MSSQLConnection' object has no attribute 'column_types' 

Wie c und bekomme ich die Datentypen?

+0

Es scheint, dass die 'column_types' Referenz im Quellcode nicht bedeutet, was Sie denken, dass es tut. Es gibt jedoch Datentypinformationen, die über das Attribut [.description] (https://www.python.org/dev/peps/pep-0249/#description) eines Cursor-Objekts verfügbar sind. Sie können auch eine Abfrage für die Ansicht 'INFORMATION_SCHEMA.COLUMNS' ausführen. –

+0

@GordThompson Können Sie bitte ausarbeiten? Sie könnten Ihr Wissen leicht zu einer guten Antwort für mich machen, so scheint es. Die Beschreibung enthält nicht genug Informationen, es ist abstrahiert Ich brauche die Roh-Form des Datentyps. 'INFORMATION_SCHEMA.COLUMNS' Hilft mir nicht, ich möchte die Typen im Resultset, nicht auf dem Server. –

Antwort

1

Ich öffnete ein Ticket auf der GitHub, und es got an answer. Hier für Nachwelt und Vollständigkeit schreiben.

column_types is cdef so only accessible from C code, not Python.

Es ist nicht das, was ich hatte gehofft, aber leider ist es die Antwort.

Verwandte Themen