python - ORA-01036: 非法变量名称/编号 (cx_Oracle)
问题描述
当我尝试将数据插入数据库时,当我使用以下代码时,我可以看到上述错误。
你能否建议还有什么可以做的。
代码:
list_to_add=['Have you searched','similar question has already been posted']
dsn_tns = cx.makedsn(cred_test['HOST'], cred_test['PORT'], service_name=cred_test['SERVICE_NAME'])
conn = cx.connect(user=cred_test['USER'], password=cred_test['PASWRD'], dsn=dsn_tns)
cursor = conn.cursor()
cursor.prepare('INSERT INTO Table_name Col_name values (:0)')
cursor.executemany(None,list_to_add)
conn.commit()
解决方案
你有小问题:
ORA-01036由于列表元素未用方括号括起来而引发
ORA-00947将在修复第一个问题后引发,因为
Col_name
在 Insert 语句中没有用括号括起来list_to_add=[['Have you searched'],['similar question has already been posted']] dsn_tns = cx.makedsn(cred_test['HOST'], cred_test['PORT'], service_name=cred_test['SERVICE_NAME']) conn = cx.connect(user=cred_test['USER'], password=cred_test['PASWRD'], dsn=dsn_tns) cursor = conn.cursor() cursor.prepare('INSERT INTO Table_name(Col_name) VALUES(:0)') cursor.executemany(None,list_to_add) conn.commit()
推荐阅读
- python - 如何使用尽可能少的 for 循环来获得结果
- python - 计算熊猫列直到结束
- python-3.x - 我使用带有 python 的 pandas 编写了代码。我想将代码转换为一个新的数据框,输出分为两列
- centos - 使用 squid 代理 4 作为代理,无需缓存
- python - 将 TF 数据集从分类数据更改为数值/回归数据
- java - 测试运行时如何查看 Allure 报告?
- kubernetes - 无法将 `linkerd.io/inject: enabled` 添加到 ArgoCD 清单 - io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta.annotations 的类型无效
- amazon-web-services - AWS Lambda 函数和 AWS API Gateway(自定义域名)路径冗余/冲突
- docker - SSL 证书 - 由我的旧计算机提供 - Docker / Mkcert
- wordpress - 如何在 wordpress htaccess 文件中启用 php 错误