我想用 godror Oracle 驱动程序为 Go 执行一个 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));
1 回答

慕婉清6462132
TA贡献1804条经验 获得超2个赞
您必须编写自己的文件解析器来从文件中提取语句,并一次执行一个。如果您使用比 SQL*Plus 文件更严格的语法会更容易,例如,如果您始终/
用作 SQL 和 PL/SQL 的终止符,并确保文件不包含 SQL*Plus 语句(如 COLUMN )。一个相关的解析器在 Python 中,位于https://github.com/oracle/python-cx_Oracle/blob/7.3/samples/SampleEnv.py#L124-L157
更好的方法可能是将字符串存储在您的 Go 代码中。
- 1 回答
- 0 关注
- 139 浏览
添加回答
举报
0/150
提交
取消