我正在寻找一种方法来保存SQL数据库,然后通过localhost以外的方式引用它,因为它正在其他计算机上使用,所以无法正常工作。
我意识到我的术语可能不正确,因为他们想要一种方法来包装"一个SQL数据库,但我不太确定如何把我的欲望这么简洁的标题。 我有一个我通过mySQL创建的数据库:http://gyazo.com/fcac155a60c0d2587442c3e4807ef98a
我可以通过以下代码轻松访问此数据库...
try
{
//Get connection
Connection myConn = DriverManager.getConnection("jdbc:mysql://localhost:3306/term_database","root", "_cA\"#8X(XHm+++E");
//**********
//Connection myConn = DriverManager.getConnection("jdbc:mysql:translationDatabase","root", "_cA\"#8X(XHm+++E");
//**********
//create statement
Statement myStmt = myConn.createStatement();
//execute sql query
ResultSet myRs = myStmt.executeQuery("select * from terms WHERE idNumber=" +termNumber);
//process result set
while(myRs.next()){
term= (myRs.getString(language));
}
}
catch (Exception exc)
{
exc.printStackTrace();
}
但是,我假设我的用户将在不同的计算机上,所以" // localhost"参考不起作用。他们不也可以访问互联网。因此,我的目标是将数据库包含在我的程序文件中,以便随软件一起下载或将其包含在jar中。我无法在网上找到任何办法。我用@' s包围的代码是尝试引用translateDatabase.sql,我通过程序mySQL保存到我的软件目录中,但它没有按照此处所示工作:http://gyazo.com/e9d4339435dedecab4e7ad960e9b13b6
回顾一下:我正在寻找一种方法来保存SQL数据库,然后通过localhost以外的方式引用它,因为它正在其他计算机上使用,所以无法工作。
答案 0 :(得分:0)
习惯用语是"嵌入"或者"无服务器"数据库中。
有几个pure-java solutions。还有流行的SQLite,您可以通过其command line client或第三方JDBC驱动程序(example 1,example 2)来操作
上述任何一种解决方案都要求您将现有的MySQL数据库转换为目标系统。
或者,您可以考虑将您的应用程序与MySQL服务器捆绑在一起(可能采用自动安装过程,以便最终用户无法安装)。