cx_Oracle question
Diez B. Roggisch
deets at nospam.web.de
Fri Sep 8 14:36:07 EDT 2006
Richard Schulman schrieb:
> I'm having trouble getting started using Python's cx_Oracle binding to
> Oracle XE. In forthcoming programs, I need to set variables within sql
> statements based on values read in from flat files. But I don't seem
> to be able to get even the following stripped-down test program to
> work:
>
> import cx_Oracle
> connection = cx_Oracle.connect("username", "password")
> cursor = connection.cursor()
>
> arg_1 = 2 #later, arg_1, arg_2, etc. will be read in files
>
> cursor.execute("""select mean_eng_txt from mean
> where mean_id=:arg_1""",arg_1)
> for row in cursor.fetchone():
> print row
> cursor.close()
> connection.close()
>
> The program above produces the following error message:
>
> C:\pythonapps>python oracle_test.py
> Traceback (most recent call last):
> File "oracle_test.py", line 7, in ?
> cursor.execute('select mean_eng_txt from mean where
> mean_id=:arg_1',arg_1)
> TypeError: expecting a dictionary, sequence or keyword args
>
> What do I need to do to get this sort of program working?
Do what it tells you to do: use a dictionary as parameters or
keyword-args. Not sure what they mean by a sequence though.
So it should work like this:
cursor.execute("""select mean_eng_txt from mean
where mean_id=:arg_1""",{arg_1=arg_1})
Diez
More information about the Python-list
mailing list