sql >> Databáze >  >> RDS >> Mysql

Java, jak změnit aktuální databázi na jinou?

Jak je popsáno v MySQL dokumentaci musíte použít Connection.setCatalog() přepnout do jiné databáze. Také výslovně říká, že byste neměli spusťte USE <databasename> přepnout.

Důvodem tohoto varování je, že JDBC je obecné rozhraní k databázím, a proto poskytuje metody pro většinu běžných úloh, včetně přepínání catalogs (nebo databases jako jsou v MySQL). Specifikace JDBC/javadoc také výslovně říká, že lidé by měli používat rozhraní API přes příkazy specifické pro databázi (pokud jsou k dispozici oba). Existuje pro to několik důvodů:1) podporuje kód nezávislý na databázi a 2) ovladač může interně dělat další věci v reakci na jednu z metod API. Použití příkazů specifických pro databázi může způsobit nesprávné chování ovladače, protože jeho vnitřní stav neodpovídá stavu databáze.

Výzva na setCatalog(String) neovlivní existující příkazy, jak je uvedeno v dokumentaci rozhraní JDBC API:



  1. Vložení dat pomocí funkce s hodnotou tabulky na SQL Server

  2. Funkce INSTR() v Oracle

  3. Jak získat odlišný záznam z tabulky mysql?

  4. Jak změnit národní prostředí při formátování čísel v PostgreSQL