변수를 동적으로 만들기 위해 DriverManager.getConnection 매개 변수에서 변수를 사용할 수 있습니까?Java 연결 변수를 Java 변수로 저장하는 방법
String connstring = null;
Connection conn = null;
try {
conn = DriverManager.getConnection
("jdbc:oracle:thin:@hostname:port:sid","uname","pword");
//(connstring);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
그러나 연결 문자열을 아래 코드와 같은 변수에 캡슐화하려고 시도했습니다. "전화가 유효하지 않습니다"라는 메시지가 나타납니다.
String connstring = null;
connstring = "\"jdbc:oracle:thin:" + host + ":" + port + ":" + sid + "\"" + "," + "\"" + uname + "\"" + "," + "\"" + pword + "\"";
System.out.println(connstring);
Connection conn = null;
try {
conn = DriverManager.getConnection(connstring);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
나는 변수를 출력하고 이것은 첫 번째 접근법 인용 부호와 모두 동일하다.
나는 또한 아래와 같은 다른 접근 방식을 시도했다. 이번에는 "잘못된 Oracle URL 지정됨"이 표시됩니다.
Connection con = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(dbaseurl, dbaseuser, dbasepwrd);
//con.setAutoCommit(false);
} catch (ClassNotFoundException e) {
System.out.println("Oracle JDBC Driver Missing");
e.printStackTrace();
return null;
} catch (SQLException e) {
System.out.println("Connection could not be obtained.");
e.printStackTrace();
return null;
}
10g에 대한 oracle url을 조사해 보았습니다. 다음은 dbaseurl 변수를 초기화하는 방법입니다. 목표는 연결 속성을 하드 코딩하지 않는 것입니다. 도와주세요. 감사.
"JDBC : 신탁 : 얇은 @ 호스트 이름 : 포트"
확인. 이를 기반으로 연결 문자열을 변수에 넣은 다음 get 연결에서 호출하면 실행 가능하지 않습니다. 그러나이 방법을 시도했지만 여전히 작동하지 않습니다. – user3286012
conn = DriverManager.getConnection \t \t \t \t ("jdbc : oracle : thin"\ "host +": "+ port +": "+ sid + – user3286012
이 값을 a, b, c ...로 설정하면 값이 다음과 같이 설정됩니다. ","+ ","+ " jdbc : oracle : thin : "a : b : c", "d", "e"'. 즉,'''및', '문자가 포함되어 있습니다. 연결 문자열에 있어서는 안됩니다. – user1675642