2014-12-27 3 views
0

Я ищу способ сохранить базу данных SQL, а затем ссылаться на нее иначе, чем localhost, которая не работает, потому что она используется на других компьютерах.Как «упаковать» базу данных SQL

Я понимаю, что моя терминология может быть неправильной в просьбе о том, чтобы «упаковать» базу данных 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» не будет работать. Они не имеют имеют доступ к интернету. Поэтому я хочу включить базу данных в файлы моей программы, которые будут загружены с помощью программного обеспечения, или включить его в банку. Я не смог найти никаких средств для этого в Интернете. Код, который был окружен *, был попыткой ссылки на translationDatabase.sql, который я сохранил через программу mySQL в каталоге моего программного обеспечения, но он не работал, как показано здесь: http://gyazo.com/e9d4339435dedecab4e7ad960e9b13b6

Напомним: я ищу способ для сохранения базы данных SQL, а затем ссылаться на нее иначе, чем localhost, которая не работает, потому что она используется на других компьютерах.

+0

Возможно, вы можете использовать sqlite вместо этого? – Jasen

+0

Я не уверен. Но разве не существует только способ встраивания базы данных SQL, поэтому мне не нужно обращаться к ней через локальный узел, а через локальную ссылку? – zDoctor

+0

, который может быть интерпретирован несколькими различными способами, но единственное, что имеет смысл, это использование sqlite. – Jasen

ответ

0

Идиоматическая терминология - это «встроенная» или «безсерверная» база данных.

Есть несколько pure-java solutions. Существует также популярный SQLite, который вы можете управлять с помощью своего command line client, или через сторонний драйвер JDBC (example 1, example 2)

Любые из вышеуказанных решений потребуют, чтобы вы преобразовать существующую базу данных MySQL на целевой систему ..

В качестве альтернативы вы можете рассмотреть возможность подключения вашего приложения к серверу MySQL (возможно, с автоматическим процессом установки, чтобы установка была невидимой для конечного пользователя).

+0

Благодарим вас за помощь. Я решил использовать SQLite и в настоящее время работаю над тем, чтобы это произошло. Ваш совет помог мне в этом направлении, и я благодарен за это. – zDoctor

Смежные вопросы