vagrantを使って仮想サーバを立ち上げOracleをインストールしました。
しかし、ゲストOS(Windows8.1)からeclipseでJDBCを使って接続しようと試みましたが、エラーが発生して解決できません。
■Linuxの情報
・ホスト名 vagrant-centos65.vagrantup.com
■Oracleの情報
・tnsnames.ora
# tnsnames.ora Network Configuration File: XE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = vagrant-centos65.vagrantup.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )
・listener.ora
# listener.ora Network Configuration File: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) (ADDRESS = (PROTOCOL = TCP)(HOST = vagrant-centos65.vagrantup.com)(PORT = 1521)) ) ) DEFAULT_SERVICE_LISTENER = (XE)
■Javaのコード
package test.main; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * DBUnitテストのmainを持つクラス。 * @author tarosa0001 */ public class TestMain { /** ロガー */ private static Logger logger = LoggerFactory.getLogger(TestMain.class); /** 実行するSQL */ private static final String SQL = " update " + " EMP " + " set " + " name = 'tiger' " + " where " + " id = 1; "; /** * @param args */ public static void main(String[] args) { logger.info("処理開始"); // --------------------------------- // DBを更新する // --------------------------------- try { Class.forName ("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e) { logger.error("エラー", e); } try(Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@vagrant-centos65.vagrantup.com:1521:XE", "TRY", "nobu2214"); PreparedStatement stmt = conn.prepareStatement(SQL); ) { conn.setAutoCommit(false); int i = stmt.executeUpdate(); // 処理件数を表示する logger.info("処理件数:[" + i + "]"); conn.commit(); } catch(Exception e) { logger.error("エラー", e); } logger.info("処理終了"); } }
■エラー内容
20:55:13.445 [main] INFO test.main.TestMain - 処理開始 20:55:13.695 [main] ERROR test.main.TestMain - エラー java.sql.SQLRecoverableException: IOエラー: The Network Adapter could not establish the connection at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:673) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:715) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:385) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:30) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:564) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at test.main.TestMain.main(TestMain.java:42) Caused by: oracle.net.ns.NetException: The Network Adapter could not establish the connection at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:445) at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:464) at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:594) at oracle.net.ns.NSProtocol.connect(NSProtocol.java:229) at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1360) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:486) ... 7 common frames omitted Caused by: java.net.UnknownHostException: vagrant-centos65.vagrantup.com at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928) at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323) at java.net.InetAddress.getAllByName0(InetAddress.java:1276) at java.net.InetAddress.getAllByName(InetAddress.java:1192) at java.net.InetAddress.getAllByName(InetAddress.java:1126) at oracle.net.nt.TcpNTAdapter.connect(TcpNTAdapter.java:117) at oracle.net.nt.ConnOption.connect(ConnOption.java:133) at oracle.net.nt.ConnStrategy.execute(ConnStrategy.java:411) ... 12 common frames omitted 20:55:13.695 [main] INFO test.main.TestMain - 処理終了
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/11/24 21:54