我想用 godror Oracle 驅(qū)動(dòng)程序?yàn)?Go 執(zhí)行一個(gè) sql 文件。我的問題是 Godror 不接受文件中超過 1 個(gè)查詢。你知道我該如何解決這個(gè)問題嗎?db2, _ := sql.Open("godror", databaseURL)c, ioErr := ioutil.ReadFile(sqlFile)_, err := db2.Exec(string(c)) defer db2.Close()使用此代碼,此查詢有效:create TABLE books3 (title VARCHAR2(100))但這不會(huì):create TABLE books3 (title VARCHAR2(100));create TABLE books4 (title VARCHAR2(100));create TABLE books6 (title VARCHAR2(100));
1 回答

慕婉清6462132
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
您必須編寫自己的文件解析器來從文件中提取語(yǔ)句,并一次執(zhí)行一個(gè)。如果您使用比 SQL*Plus 文件更嚴(yán)格的語(yǔ)法會(huì)更容易,例如,如果您始終/
用作 SQL 和 PL/SQL 的終止符,并確保文件不包含 SQL*Plus 語(yǔ)句(如 COLUMN )。一個(gè)相關(guān)的解析器在 Python 中,位于https://github.com/oracle/python-cx_Oracle/blob/7.3/samples/SampleEnv.py#L124-L157
更好的方法可能是將字符串存儲(chǔ)在您的 Go 代碼中。
- 1 回答
- 0 關(guān)注
- 163 瀏覽
添加回答
舉報(bào)
0/150
提交
取消