oracle之如何在Godror中执行具有多个查询的文件
Renyi-Fan
阅读:72
2025-06-02 22:19:02
评论:0
我想使用Godror Oracle驱动程序执行sql文件。我的问题是Godror在文件中不接受超过1个查询。您知道我该如何解决吗?
db2, _ := sql.Open("godror", databaseURL)
c, ioErr := ioutil.ReadFile(sqlFile)
_, err := db2.Exec(string(c))
defer db2.Close()
使用此代码,此查询有效:
create TABLE books3 (title VARCHAR2(100))
但这不是:
create TABLE books3 (title VARCHAR2(100));
create TABLE books4 (title VARCHAR2(100));
create TABLE books6 (title VARCHAR2(100));
请您参考如下方法:
您必须编写自己的文件解析器以从文件中提取语句,然后一次执行一次。如果您使用比SQL * Plus文件更严格的语法,例如这样更容易。如果您始终将/用作SQL和PL / SQL的终止符,并确保文件不包含SQL * Plus语句(如COLUMN)。一个相关的解析器位于https://github.com/oracle/python-cx_Oracle/blob/7.3/samples/SampleEnv.py#L124-L157中的Python中
更好的方法可能是将字符串存储在Go代码中。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。



