我想用 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 關注
- 165 瀏覽
添加回答
舉報
0/150
提交
取消