본문 바로가기
MySql

MySQL Java, 현재 데이터베이스를 다른 데이터베이스로 변경하는 방법은 무엇입니까?

by 베이스 공부 2021. 1. 20.
반응형

MySQL 데이터베이스에 대한 Java 프로그램 연결이 있습니다. 동일한 연결에서 현재 데이터베이스를 다른 데이터베이스로 어떻게 변경할 수 있습니까?

다음과 같이 MySQL에 연결합니다.

DriverManager.getConnection("jdbc:mysql://"+server+"/",log,pass);

몇 가지 작업 후 동일한 연결에서 다른 mysql 데이터베이스에 연결하고 싶습니다. 어떻게 할 수 있습니까?

나는 사용하려고했다 :

Statement stat= con.createStatement();
ResultSet r=stat.executeQuery("use mysql"); 

그러나 사용할 데이터베이스는 변경되지 않습니다.

 

해결 방법

 


이 경고의 이유는 JDBC가 데이터베이스에 대한 일반 인터페이스이기 때문에 카탈로그 (또는 MySQL에서와 같이 데이터베이스 ) 전환을 포함하여 가장 일반적인 작업에 대한 메서드를 제공하기 때문입니다. JDBC 사양 / javadoc은 또한 사람들이 데이터베이스 특정 명령 (둘 다 사용 가능한 경우)보다 API를 사용해야한다고 명시 적으로 말합니다. 여기에는 몇 가지 이유가 있습니다. 1) 데이터베이스에 독립적 인 코드를 홍보하고 2) 드라이버가 API 메서드 중 하나에 대한 응답으로 내부적으로 추가 작업을 수행 할 수 있습니다. 데이터베이스 특정 명령을 사용하면 내부 상태가 데이터베이스 상태와 일치하지 않기 때문에 드라이버가 오작동 할 수 있습니다.


setCatalog 를 호출해도 이전에 생성되거나 준비된 Statement 개체에는 영향을주지 않습니다. Connection 메소드 prepareStatement 또는 prepareCall 이 호출 될 때 DBMS 준비 작업이 즉시 발생하는지 여부는 구현으로 정의됩니다. 이식성을 극대화하려면 Statement 를 만들거나 준비하기 전에 setCatalog 를 호출해야합니다.

 

참조 페이지 https://stackoverflow.com/questions/13433326

 

 

반응형

댓글