2017-07-08 3 views
0

Ich habe eine Tabelle mit 4 Datensätzen erstellt. Die Tabellenbeschreibung ist wie: Employercursor.fetchall() gibt ein leeres Tupel mit cx_Oracle zurück

Nun, wenn ich das folgende Stück Code ausführen:

import cx_Oracle 
con = cx_Oracle.connect("system/******@localhost/xe") 
cur = con.cursor() 
cur.execute("SELECT * FROM Employer") 
print(cur.fetchall()) 
print("\nNumber of rows fetched =",cur.rowcount) 
print("\nDescription:",cur.description)` 

Die fetchall() fuction kehrt []. Der Zeilenzähler ist 0. Aber die Beschreibung ist korrekt, d. H. Was es sein sollte.

Beschreibung: [('CompanyID', 5, 5, 0, 0, 0), ('COMPANY', 50, 50, 0, 0, 0), ('EMAILID', 30 , 30, 0, 0, 1), ('MOBILE',, 11, 22, 10, 0, 1), ('STADT',, 15, 15, 0, 0, 1), ('INDUSTRYTYPE',, 20, 20, 0, 0, 1), ("FUNKTIONALAREA",, 20, 20, 0, 0, 1), ("MITGLIEDSCHAFTSPLAN",, 20, 20, 0, 0, 1), ("DATEOFSIGNUP", 23, 7, 0, 0, 1) ('DATUMODERNEAL',, 23, 7, 0, 0, 1), ('RENEWALSTATUS',, 10, 10, 0, 0, 1)]

Wenn ich die gleiche Abfrage auf der DB ausführen, läuft es gut. Aber hier gibt die fetchall() ein leeres Tupel zurück und der rowcount ist 0. Bitte helfen. Vielen Dank.

+0

Sind Sie sicher, dass Ihre Datenbank ausgewählt ist? Versuchen Sie, sql so zu ändern, dass alle Tabellen oder etwas anderes einfach angezeigt werden, um sicherzustellen, dass Sie dort sind, wo Sie denken, dass Sie es sind. – Joe

+0

Das passiert, wenn ich die Abfrage auf meiner Datenbank ausführe. http://imgur.com/YX75dkk @Joe – AliZaidi

+0

Ja, ich verstehe das. Versuchen Sie jedoch, eine einfachere Abfrage aus dem Skript auszuführen, um sicherzustellen, dass Sie wirklich mit der Datenbank verbunden sind, in der Sie sein möchten. – Joe

Antwort

0

Ob Sie es glauben oder nicht, Sie sind nicht mit der richtigen Datenbank verbunden und/oder die Tabelle ist wirklich leer. Die Beschreibung, die Sie erhalten, wird von der Datenbank abgeleitet und erfordert nicht, dass die Abfrage Ergebnisse liefert.

+0

Stellt fest, dass der Dienstname in der Verbindungszeichenfolge, die ich verwendete, falsch war. Das Problem ist jetzt gelöst. Vielen Dank für Ihre Zeit. @ user2722968 – AliZaidi

Verwandte Themen