INSERT not working in cx_oracle when used with exe

2020-04-16 04:15发布

I am new to cx_oracle. I have established a connection and I am able to create and drop a table using execute.

Where I am failing is when I try to use "INSERT INTO ..." in execute. It doesn't show any error but it doesn't store any value either (I confirmed this by checking if the entry had taken place using sqlplus from shell). The code I used was:

table_name = "T1"
column = "D"
insert_value = "test value"

sqlcode = "INSERT INTO "+table_name+" ("+column+") VALUES ('"+insert_value+"')"
cursor.execute(sqlcode)

Please help me, any help would be appreciated.

Thanks in advance. J

2条回答
家丑人穷心不美
2楼-- · 2020-04-16 04:47

How can cursor.commit work when the methods in Cursor do not have commit, connections has this method and hence it should be:

    connection.commit()

Using cursor.commit() returns:
AttributeError: 'cx_Oracle.Cursor' object has no attribute 'commit'

查看更多
在下西门庆
3楼-- · 2020-04-16 05:03

Strange that you are not getting an error with that code; that's of course unless you are (sadly) calling the Cursor object, connect.

You need to have something like this somewhere, before all your code:

conn = cx_Oracle.connect(usr, pwd, url)
cursor = conn.cursor()

Proceed then to replace connect.execute(sqlcode) with cursor.execute(sqlcode).

查看更多
登录 后发表回答