2012-01-13 3 views
3

를 통해 PostgreSQL을 데이터베이스에 나는 MATLAB 내 포스트 그레스 데이터베이스를 연결하려고 그것은 나에게 여기 내가 사용하고 내 연결 방법입니다연결 MATLAB 오류

"'JDBC Driver Error: org.postgresql.Driver. Driver Not Found/Loaded.'"

라는 오류를 던지고있다.

conn = database('postgres','username','password','org.postgresql.Driver', 'jdbc:postgresql://localhost:5432/postgres=postgres'); 

이후로 오류가 발생합니다.

포럼을 살펴본 결과, postgres jar 파일을 아래와 같이 MATLAB 디렉토리 툴킷 텍스트 파일에 추가하라고했습니다.

C:\Program Files\PostgreSQL\pgJDBC\postgresql-8.4.702.jdbc3.jar 
C:\Program Files\PostgreSQL\pgJDBC\postgresql-8.4.702.jdbc4.jar 

어디에서 잘못 가고 있는지 알 수 없습니다. 제발 조언.

감사합니다.

답변

2

데이터베이스에 연결하기 전에 JDBC 드라이버가있는 jar 파일을 동적 Java 클래스 경로에 추가해야합니다. 난 당신이 당신의 요구 사항에 따라 단 하나의 파일을 추가 할 수 있다고 생각합니다. 버전 차이 here을 확인하십시오. 그것은 작동

%# add class path (if not in the class path) 
p = 'C:\Program Files\PostgreSQL\pgJDBC\postgresql-8.4.702.jdbc3.jar'; 
if ~ismember(p,javaclasspath) 
    javaaddpath(p) 
end 
+0

: 경로에 이미 jar 파일이 몇 가지 검사를 추가하는 경우

경고를 방지하려면. 하지만 어쨌든 데이터베이스에서 MATLAB으로 정보를 쿼리 할 수없는 것 같습니다. 다음은 사용하려고하는 코드입니다 :'e = exec (conn, 'SELECT * FROM cath_2'); e = fetch (e);'. 이것은 오류입니다,'??? 정의되지 않은 함수 또는 'struct'유형의 입력 인수에 대한 'fetch'메소드. – Jeiman

+1

다른 변수를 사용하여 반입 결과를 반환하는 방법은 어떻습니까? 'rs = fetch (e); '나는 보통'rs = fetch (exec (conn, qry));'를 수행한다. 작동하지 않으면 다른 JDBC 드라이버를 사용하십시오. – yuk

+0

'exec'는 구조체가 아닌 커서 객체를 실제로 반환합니다. Database Toolbox를 사용하고 있습니까? – yuk