簡體   English   中英

從Java使用\\ i命令在postgres中導入.sql文件

[英]import .sql file in postgres using \i command from java

我正在嘗試使用“ \\ i E:/dump.sql”命令從postgres中的.sql文件導入數據庫,它可以從postgres命令提示符下正常工作,但是當我從java嘗試同樣的操作時,它會在“ \\”處引發錯誤,我代碼是

connection = DriverManager.getConnection( "jdbc:postgresql://localhost:5432/database","postgres", "passwd");
PreparedStatement ps3 = connection.prepareStatement("\\i E:/dump.sql");
boolean res3= ps3.execute();
System.out.println("imported succesfully .."+res3);

使用JDBC驅動程序/接口,您只能使用SQL,而您要嘗試的是發出PostgreSQL命令行工具( psql )特定命令。 那行不通。

如果您堅持要這樣做,則可以使用Runtime.getRuntime().exec(...)方法,例如

Runtime.getRuntime().exec( "psql -f dump.sql" );

干杯,

長話短說-您不能。 \\i不是PostgreSQL命令(如:PostgreSQL數據庫引擎)。 它是psql的命令psql是用於與數據庫進行交互的命令行工具。

如果通過JDBC連接數據庫,則說明您未使用psql,因此無法使用其命令( \\i\\o等)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM