Python Forum

Full Version: Running Sql query stored in CSV file
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Output of line 6 >>>>>>>>>>> select 1 from dual;


For option 1 I am getting below error:

Traceback (most recent call last):
File "oracle_test.py", line 18, in <module>
c.execute(filer)
cx_Oracle.DatabaseError: ORA-00933: SQL command not properly ended

Output of line 6 >>>>>>>>>>> select 1 from dual;


For option 1 I am getting below error:

Traceback (most recent call last):
File "oracle_test.py", line 18, in <module>
c.execute(filer)
cx_Oracle.DatabaseError: ORA-00933: SQL command not properly ended
Shouldn't you have to set up the file like PL/SQL?
with declare, begin and end Example here: https://docs.oracle.com/cd/B13789_01/app...06_ora.htm
cx_oracle is supposed to be able to run these queries directly from the file
(looking at docs here): https://oracle.github.io/python-cx_Oracle/
Hi Larz ,
Thanks for explaining it . I know Why this is happening but I am not getting how to remove ' from string .
I will share updated code .
import cx_Oracle
from datetime import datetime


#reading query from file 

f = open('C:/Users/pubhatia/Documents/learning/python/query/test.sql')
#print(f.read())
filer = f.read()
print(filer)

print(repr(filer))
f.close()
#filer3=filer
#source_name ='PWS'
filer=filer.replace("\'","")


#print( repr(filer3 )		
filer2="select * from dual"

if filer==filer2:
 print('same value')
else:
 print ('no same ')

#create connection string
conn_str = u'user/pwd@database'
#setting up connection 
conn = cx_Oracle.connect(conn_str)	
c = conn.cursor()
c.execute(filer2)
start_time = datetime.now()
for row in c:
    print( row)
conn.close()
end_time = datetime.now()
print('Duration: {}'.format(end_time - start_time))


		





	
Output:
"select * from dual" '"select * from dual"' no same ('X',) Duration: 0:00:01.239932
if u will check there is ' quote attach to it that is why when I trying to run it it is giving me error.
I am trying to remove these single quotes but not getting anything.
Please help me with this
Output:
"select * from dual" '"select * from dual"'
This output clearly shows that you have double quotes around your SQL statement in the file.
Note that single quotes around the second print output is due to the fact that you print repr() of the string, not they are actually there, so it's not possible to remove them (line #16)
I told you file should look like this
Output:
SELECT * FROM dual;
just in case - don't put new line (i.e. don't hit ENTER) at the end of the line, even if it doesn't matter in SQL

here is Gist
https://gist.github.com/boyank/3b8f8a4c6...d2de45fdcc
Hi all,
Thanks its working fine now.
I changed the file to

select * from dual
what was the problem?
Hi all,
I did changes just wrote
Select * from dual in my text file no spaces no enter anything and it work fine
Pages: 1 2