Как я могу переключить контекст базы данных существующего источника данных? - PullRequest
3 голосов
/ 12 апреля 2011

Допустим, у меня есть существующий источник данных для базы данных master. Теперь мне нужно создать новую базу данных и выполнить некоторые DDL для этой базы данных. Возможно ли это, например, с помощью команды «USE» или мне нужно создать новый источник данных с именем новой базы данных в URL JDBC?

Ответы [ 2 ]

4 голосов
/ 12 апреля 2011

Вы можете запустить команду «USE» как обычный оператор JDBC.

Statement stmt = connection.createStatement();
stmt.execute("USE the_other_db");

В зависимости от вашей СУБД и драйвера вы также можете использовать вызов API JDBC setCatalog ():

connection.setCatalog("the_other_db")
1 голос
/ 12 апреля 2011

Оператор USE работает, но, поскольку он имеет состояние, вы должны убедиться, что он является частью того же соединения, что и последние операторы.

Если вы используете JdbcTemplate Spring вместо работы с java.sql.Connectionи java.sql.Statement напрямую, вы можете использовать SingleConnectionDataSource.

...