2017-05-21 7 views
0

既に別のコンピュータの.exeファイルである自分のプログラムをテストしています。データベースのパスが自分のコンピュータに指定されており、アプリケーションがデータベースにアクセスできないことがわかりました。このパスを変更して別のコンピュータでテストできるようにする方法はありますか?ここでは、データベースに接続するための私のコードは次のとおりです。JDBC SQLiteのパス

import java.sql.*; 
import javax.swing.*; 

public class mysqlconn { 

Connection conn=null; 

public static Connection ConnectDB(){ 
    try{ 
     Class.forName("org.sqlite.JDBC"); 
     Connection conn= DriverManager.getConnection("jdbc:sqlite:C:\\Users\\PAULO\\Documents\\NetBeansProjects\\Admin_Laptopland\\laptop_land.sqlite"); 
     JOptionPane.showMessageDialog(null,"Connection Established"); 
     return conn; 
    }catch(Exception e){JOptionPane.showMessageDialog(null, e);return null;} 
    } 
} 
+0

相対パスを使用して、データベースを選択し、システムプロパティー「user.home」などなどを使用するようにユーザーに依頼してください。 –

+0

netbeansでデータベースとしてsqliteを使用するのは初めてのことです。どのように私はそれを正確に行うのですか? –

+0

それでは素敵なチュートリアルがあります(http://www.sqlitetutorial.net/sqlite-java/sqlite-jdbc-driver/) –

答えて

1

ここにコードがある場合、DB列のための相対パスを使用し、mysqlconnクラスの同じ場所にDBファイルを保管してください - 変更ニーズに応じて: -

import java.awt.HeadlessException; 
import java.sql.*; 
import javax.swing.*; 

public class mysqlconn { 

Connection conn = null; 

public static void main(String args[]) { 
    try { 
     Class.forName("org.sqlite.JDBC"); 
     Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db"); 
     JOptionPane.showMessageDialog(null, "Connection Established"); 

    } catch (HeadlessException | ClassNotFoundException | SQLException e) { 
     JOptionPane.showMessageDialog(null, e); 

    } 
} 

}

ここでは、DBファイルのファイル名はtest.db.です

+0

私はプログラムをビルドしようとしていますが、distフォルダにjarファイルを実行しています。このコードの問題は、私が作成したデータベースを取得するのではなく、新しいデータベースを作成するということです。この問題を解決するにはどうすればよいですか? –

+0

申し訳ありませんが、このコードは役に立ちません。 dbファイル(test.db)自体が実行可能ファイル(distフォルダのjarファイル)にパッケージ化され、そのファイルに接続できないためです。毎回新しいデータベースが作成されます。私は問題に取り組んでいる... –

+0

それは大丈夫です。私はそれを私が作ったものに置き換えるだけで解決しました。 –

関連する問題