第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我可以從 JDBC 連接運行“源”命令(SQL 腳本)嗎?

我可以從 JDBC 連接運行“源”命令(SQL 腳本)嗎?

有只小跳蛙 2021-08-13 15:52:12
我正在編寫一個應(yīng)用程序,它有一個數(shù)據(jù)訪問層來抽象與 SQLITE3 或 MySQL 數(shù)據(jù)庫的底層連接。感謝昨天這里的一些幫助,我向我展示了如何使用進(jìn)程構(gòu)建器使用輸出重定向?qū)⒚钚袑?dǎo)入運行到 SQLITE3 數(shù)據(jù)庫中?,F(xiàn)在我試圖通過導(dǎo)入轉(zhuǎn)儲文件在 MySQL 中創(chuàng)建相同的數(shù)據(jù)庫。從命令行客戶端加載工作正常。我只是告訴它獲取文件,然后成功創(chuàng)建了數(shù)據(jù)庫。但是,我試圖在運行時通過代碼執(zhí)行此操作,而我執(zhí)行 SQL 語句的方法無法執(zhí)行源命令。我懷疑這是因為“源”不是 SQL,但我不知道還有什么可以用來嘗試運行它。我的錯誤信息是:java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'source /tmp/ISMCoreActionPack_mysql.sql' at line 1失敗的命令字符串:source /tmp/ISMCoreActionPack_mysql.sql;我的方法是:public Boolean executeSqlStatement(String sql)  {    Boolean rc = false;    try {      Connection connection = getConnection();      Statement statement = connection.createStatement();      rc = statement.execute(sql);      connection.close();    } catch (SQLException e) {      e.printStackTrace();      System.err.println(e.getClass().getName() + ": " + e.getMessage());      System.exit(1);    }    return rc;}誰能建議如何做到這一點?
查看完整描述

2 回答

?
幕布斯7119047

TA貢獻(xiàn)1794條經(jīng)驗 獲得超8個贊

您不能運行 'source' 命令,因為 JDBC 驅(qū)動程序不支持它,只有 MySQL。

我給你的建議如下。編寫一些解析器,從文件中讀取查詢,并使用 JDBC 語句執(zhí)行它們。


查看完整回答
反對 回復(fù) 2021-08-13
?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗 獲得超4個贊

source不是 MySQL 的 SQL 方言的一部分;它是一個 MySQL shell 命令。不過,您不需要編寫自己的解析器。你可以使用像雖然SqlTool在解釋這個答案。


查看完整回答
反對 回復(fù) 2021-08-13
  • 2 回答
  • 0 關(guān)注
  • 252 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號