2013-04-05 1 views
0

학교용 자바 프로젝트를 수행하고 있습니다. 이 있고 데이터를 저장하는 데 MS Access를 사용하고 있습니다. 그러나 나는 데이터베이스를 연결하고 데이터베이스와의 링크를 만드는 방법을 찾지 못했습니다. 나는 웹을 수색했고 내가 생각할 수있는 모든 것을 시도했지만 아무것도 작동하지 않는 것 같다. 도움이 될만한 사람이 있니? ,액세스 데이터베이스에 연결할 때 상대 URL을 입력하는 방법

connection = DriverManager.getConnection(DATABASE_URL); 

는 내가하고 싶은 것은 링크의 상대를 만들 그래서 모든 구성원의 :

private static final String DATABASE_URL = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\Users\\Badlapje\\Dropbox\\workspace\\FOOP\\Group62RISK\\Risk.accdb"; 

다음과 같이 그때 호출 : 여기

는 지금 링크를 넣어 한 방법 우리 팀은 같은 링크를 사용할 수 있습니다.

+0

이 무슨 뜻이 상대 *에 의한 ean? DB를 공유하려면 공유 드라이브 (로컬이 아님)에 배치하고 모든 팀 구성원에게이 공유를 참조하게하십시오. –

+0

@ PM77-1 프로젝트의 패키지 안에 데이터베이스 파일을 로컬 파일로 게시 할 수도 있습니다. 파일 경로 검색 및 Windows 허용 경로로 변환에 대한 답변을 게시했습니다. –

답변

1

문제는 액세스 데이터베이스 파일 위치에 있습니다 : C:\\Users\\Badlapje\\Dropbox\\workspace\\FOOP\\Group62RISK\\Risk.accdb. 컴퓨터에있는 모든 사람이 가지고있는 폴더에이 파일을 넣으십시오. C:\\school-project\\Risk.accdb.

또 다른 해결책은 소스 패키지 내부의 자바 프로젝트 내에서 파일을 설정 한 후 자바 (this answer에서 적응) 코드를 사용하여 파일의 절대 경로를로드 할 수 : 프로젝트 구조를 갖는

package edu.proj.res; 

public class Main { 
    public static String getDatabaseLocation() { 
     return Main.class.getClassLoader().getResource("edu/proj/res/database.txt").toString(); 
    } 
    public static String changeToWindowsPath(String path) { 
    return path.replace("file:/", "").replaceAll("/", "\\\\"); 
} 
    public static void main(String[] args) { 
     System.out.println(changeToWindowsPath(getDatabaseLocation())); 
    } 
} 

을 :

ConsoleTests 
- src 
    - edu.proj.res 
    + database.txt 
    + Main.java 

프로그램 출력 :

C:\workspace\ConsoleTests\bin\edu\proj\res\database.txt 
관련 문제