Python中文
首页
教程
问答
标签
搜索
登录
注册
使用cx_Oracle进行批量插入:不一致的数据类型
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我试图使用Python和<code>cx_Oracle</code>将大量记录加载到Oracle数据库中。共识似乎是,您应该准备一个游标和<code>executemany</code>,对照一个行列表(每个<a href="https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjnho6J6_LMAhUjUaYKHZ-uAPcQFggdMAA&url=http%3A%2F%2Fstackoverflow.com%2Fquestions%2F14904033%2Fhow-can-i-do-a-batch-insert-into-an-oracle-database-using-python&usg=AFQjCNGOvdfih-9v1V5TI_2l7c6teqy_qA" rel="nofollow">this</a>post)。所以我的代码看起来像:</p> <pre><code>stmt = "INSERT INTO table (address, shape) VALUES (:1, :2)" cursor.prepare(stmt) rows = [] # Make huge list of rows cursor.executemany(None, rows) </code></pre> <p>我传递的值如下所示:</p> ^{pr2}$ <p>问题是<code>SDE.ST_Geometry()</code>数据库函数被视为一个文本字符串而不是被计算,所以我得到了一个<code>cx_Oracle.DatabaseError: ORA-00932: inconsistent datatypes: expected SDE.ST_GEOMETRY got CHAR</code>。在</p> <p>不能用<code>cx_Oracle</code>将数据库函数传递给准备好的游标吗?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>最后,我通过在准备好的语句中嵌入函数调用来解决这个问题:</p> <pre><code>stmt = "INSERT INTO table (address, shape) VALUES (:1, ST_Geometry(:2, 2272))" </code></pre> <p>给帕特里克·马坎德的帽子提示。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
1 回答
无法使用Django\u mssql\u后端迁移到外部hos
7 回答
无法使用Django&Python3.4连接到MySql
6 回答
无法使用Django+nginx上载媒体文件
10 回答
无法使用Django1.6导入名称模式
3 回答
无法使用Django1.7和mongodb登录管理站点
1 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
4 回答
无法使用Djangockedi验证CBV中的字段
7 回答
无法使用Djangocketditor上载图像(错误400)
1 回答
无法使用Djangocron进行函数调用
4 回答
无法使用Djangofiler djang上载文件
5 回答
无法使用Djangokronos
1 回答
无法使用Djangomssql provid
6 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
7 回答
无法使用Djangomssq迁移Django数据库
4 回答
无法使用Djangonox创建用户
7 回答
无法使用Djangopyodb从Django查询SQL Server
1 回答
无法使用Djangopython3ldap连接到ldap
1 回答
无法使用Djangoredis连接到redis
9 回答
无法使用Django中的FK创建新表
1 回答