2

cx_oracle は初めてです。接続が確立され、実行を使用してテーブルを作成および削除できます。

私が失敗しているのは、実行時に「INSERT INTO ...」を使用しようとしたときです。エラーは表示されませんが、値も保存されません (シェルから sqlplus を使用してエントリが行われたかどうかを確認して確認しました)。私が使用したコードは次のとおりです。

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

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

私を助けてください、どんな助けでも大歓迎です。

前もって感謝します。J

4

2 に答える 2

11

Cursorcursor.commitのメソッドにコミットがない場合、接続にはこのメソッドがあるため、次のようにする必要があります。

    connection.commit()

cursor.commit()返品の使用:
AttributeError: 'cx_Oracle.Cursor' object has no attribute 'commit'

于 2013-05-22T10:43:29.830 に答える
2

そのコードでエラーが発生しないのは奇妙です。もちろん、(悲しいことに) Cursor オブジェクトを呼び出している場合を除きますconnect

すべてのコードの前に、次のようなものが必要です。

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

次に、 に置き換えconnect.execute(sqlcode)ますcursor.execute(sqlcode)

于 2011-04-13T23:42:37.707 に答える