AWS Lambda Pythonコードを使用してOracle DBに接続しようとしています。AWS Python Lambda with Oracle - OID生成が失敗しました
私のコードは以下の通りです:
import sys, os
import cx_Oracle
import traceback
def main_handler(event, context):
# Enter your database connection details here
host = "server_ip_or_name"
port = 1521
sid = "server_sid"
username = "myusername"
password = "mypassword"
try:
dsn = cx_Oracle.makedsn(host, port, sid)
print dsn
connection = cx_Oracle.Connection("%s/%[email protected]%s" % (username, password, dsn))
cursor = connection.cursor()
cursor.execute("select 1/0 from dual")
except cx_Oracle.DatabaseError, exc:
error, = exc.args
print >> sys.stderr, "Oracle-Error-Code:", error.code
print >> sys.stderr, "Oracle-Error-Message:", error.message
tb = traceback.format_exc()
else:
tb = "No error"
finally:
print tb
if __name__ == "__main__":
main_handler(sys.argv[0], None)
このコードを実行している場合は、すでに、 "LIB" フォルダにAWS Python Lambda with Oracle
のおかげで、すべての依存関係を追加した場合、私は取得しています: DatabaseError:ORA-を21561:OIDの生成に失敗しました
OracleサーバーのIPと名前を使用して接続しようとしました。同じエラーです。ここで
が正常にAWSラムダPythonでCX_Oracleを実行している人のために
Oracle-Error-Code: 21561
Oracle-Error-Message: ORA-21561: OID generation failed
Traceback (most recent call last):
File "/var/task/main.py", line 20, in main_handler
connection = cx_Oracle.Connection("%s/%[email protected]%s" % (username, password, dsn))
DatabaseError: ORA-21561: OID generation failed
エラーの出力である、あなたが助けてくださいすることができますか?
ありがとうございました
FYIでは、接続文字列を作成する代わりにcx_Oracle.Connection(username、password、dsn)を実行することができます。この場合、cx_Oracleは別のコンポーネントに分割する必要があります。 –