如何“打包”SQL数据库

时间:2014-12-27 04:12:06

标签: java mysql sql

我正在寻找一种方法来保存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以外的方式引用它,因为它正在其他计算机上使用,所以无法工作。

1 个答案:

答案 0 :(得分:0)

习惯用语是"嵌入"或者"无服务器"数据库中。

有几个pure-java solutions。还有流行的SQLite,您可以通过其command line client或第三方JDBC驱动程序(example 1example 2)来操作

上述任何一种解决方案都要求您将现有的MySQL数据库转换为目标系统。

或者,您可以考虑将您的应用程序与MySQL服务器捆绑在一起(可能采用自动安装过程,以便最终用户无法安装)。