Hy,
Je suis nouveau dans python et je veux importer des données d'une base de données Oracle vers python (cadre de données pandas)) en utilisant cette simple requête
SELECT*
FROM TRANSACTION
WHERE DIA_DAT >=to_date('15.02.28 00:00:00', 'YY.MM.DD HH24:MI:SS')
AND (locations <> 'PUERTO RICO'
OR locations <> 'JAPAN')
AND CITY='LONDON'
Ce que j'ai fait
import cx_Oracle
ip = 'XX.XX.X.XXX'
port = YYYY
SID = 'DW'
dsn_tns = cx_Oracle.makedsn(ip, port, SID)
connection = cx_Oracle.connect('BA', 'PASSWORD', dsn_tns)
df_ora = pd.read_sql('SELECT* FROM TRANSACTION WHERE DIA_DAT>=to_date('15.02.28 00:00:00', 'YY.MM.DD HH24:MI:SS') AND (locations <> 'PUERTO RICO' OR locations <> 'JAPAN') AND CITY='LONDON'', con=connection)
Mais j'ai cette erreur
SyntaxError: invalid syntax
Qu'ai-je fait de mal?
Merci
Vous devez citer correctement votre requête SQL. Si vous regardez la mise en évidence de la syntaxe dans votre question (ou un IDE), vous remarquerez que les guillemets simples ne fonctionnent pas comme prévu.
Remplacez les guillemets les plus externes par des guillemets doubles - si vous voulez tout sur une seule ligne - ou par des guillemets triples si vous le souhaitez sur plusieurs lignes:
query = """SELECT*
FROM TRANSACTION
WHERE DIA_DAT >=to_date('15.02.28 00:00:00', 'YY.MM.DD HH24:MI:SS')
AND (locations <> 'PUERTO RICO'
OR locations <> 'JAPAN')
AND CITY='LONDON'"""
df_ora = pd.read_sql(query, con=connection)