- ベストアンサー
oracle9iにJDBC接続が出来ない
oracle9iにJDBCで接続したいのですがI/O例外が出てうまくいきません。 多分、DriverManager.getConnection の引数のURLが間違っているのだと思うのですが。 jdbc:oracle:thin:@<ホスト名>:<リスナのポート番号>:<Oracle SID> ホスト名・ポート番号・Oracle SID はどこを見ればわかるのでしょうか? ちなみに出ているエラーは以下のとうりです。 Exception in thread "main" java.sql.SQLException: I/O例外です。: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=150999297)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)))) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335) at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:361) at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:442) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:321) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at JavaDataAccess01.main(JavaDataAccess01.java:13) 何か参考になるHPなどあれば教えてください。 よろしくお願いします。
- kici
- お礼率36% (8/22)
- Java
- 回答数3
- ありがとう数0
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
解決済みかもしれませんが。。。 まずクライアントから、sqlplus などでoracle9iに接続できますか? 上記のエラー、何度も出したことがありますが、Oracleのサーバに アクセスできないときに発生します。 経験上、 1.Oracleのインストールされたサーバが動いているマシン自体が動いてない 2.Oracleのサーバが動いていない 3.リスナーが動いていない 4.クライアントのTNSNames.oraの設定が間違っていてアクセスできない 5.JDBC URLのホスト名が間違っていた 6.JDBC URLのSIDが不正 といったところでしょうか? 個人的には、JDBCへのアクセス部分のコードというより、Oracleのクライアント からサーバに対してアクセスできていないというのが多いです。 参考になれば。。。
関連するQ&A
- oracleへの接続
Java初心者です。oracleについて勉強しているのですが なかなかうまくいきません。 Class.forName("oracle.jdbc.driver.OracleDriver"); Connection connection=DriverManager.getConnection("jdbc:oracle:thin:@dbserver:1521:oracle","test","test"); jdbc:oracle:thin:@(ホスト名):(ポート番号): (接続するデータベースのSID) ↑ ↑ この接続するデータベースのSIDとはどういう意味なの でしょうか? もしかしたら追加質問をするかもしれないので よろしくお願いします。
- 締切済み
- Java
- Java1.6でOracle11gに接続エラー
以下の環境で接続試みているのですが、エラーが発生します。 ご教授願います。 <環境> JDK1.6.0_17 TOMCAT6 ORACLE11g <エラー内容> java.lang.ArrayIndexOutOfBoundsException: 7 at oracle.security.o3logon.C0.r(C0) at oracle.security.o3logon.C0.l(C0) at oracle.security.o3logon.C1.c(C1) at oracle.security.o3logon.O3LoginClientHelper.getEPasswd(O3LoginClientHelper) at oracle.jdbc.ttc7.O3log.<init>(O3log.java) at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java) at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java) at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) ・・・以下続く 簡単ですが、現在のソースです。 Context initContext = new InitialContext(); //JNDIルックアップでデータソース取得 DataSource ds = (DataSource)initContext.lookup("java:comp/env/jdbc/SampleDB"); Connection conn = ds.getConnection(); ドライバを変えて、他のバージョン(9iや10g)には接続問題なくできています。
- ベストアンサー
- Java
- Oracle8i に接続しようと思うんですが、エラーが出ます。 その2
2度目です。すみません。 先ほどの問題は解決できたのですが、今度は別のエラーがでてしまいます。 java.sql.SQLException: I/O例外です。: The Network Adapter could not establish th e connection at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222) at oracle.jdbc.dbaccess.DBError.throwSqlException ソースは以下のとおりで、Connection conn のところで、エラーが出ます。 public class DbTest{ // [ jdbc:oracle:thin:@ + "IP or コンピュータ名(NETBIOS名)" + ":" + ポート + ":" + "DB名" ] private static String DATABASE_URL = "jdbc:oracle:thin:@ksr01-d:1521:ksroracle"; private static String DATABASE_USER = "ksr"; private static String DATABASE_PASS = "ksr"; public static void main(String[] arg ){ System.out.println("STRAT"); try{ // JDBC ドライバの登録 DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver() ); String drName = "oracle.jdbc.driver.OracleDriver"; Connection conn = DriverManager.getConnection( DATABASE_URL, DATABASE_USER, DATABASE_PASS ); Oracle SQL*Plus を起動してから、実行しています. 事務所に、java の出来る人がいなく、oracle に詳しい人もいなく、上司が、絶対作れといってきて大変困っています。 誰かわかる人がいたら、教えてください。すみませんが,よろしくお願いします.
- ベストアンサー
- Java
- Oracle8i に接続しようと思うんですが、エラーが出ます。
Oracle 8i に接続したいと思い、 C:\Oracle\Ora81\jdbc\lib に classes12.zip を置いています。 クラスパスの設定は、C:\Oracle\Ora81\jdbc\lib\classes12.zip としています。classes12 は oracle 9i 用を使っています。 ちなみに、OSはWin2000professional です。 // JDBC ドライバの登録 DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver() ); とすると、 Exception in thread "main" java.lang.NoClassDefFoundError: oracle/jdbc/driver/Or acleDriver at DbTest.main(DbTest.java:16) のエラーが出て、 Class.forName("oracle.jdbc.driver.OracleDriver"); とすると、 java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at DbTest.main(DbTest.java:19) というエラーが出ます。 誰かわかる人がいたら、教えてください.よろしくお願いします。
- ベストアンサー
- Java
- javaでのORACLEへの接続
javaでのORACLEへの接続方法を教えてください javaの初心者なのですが、JAVAでのORACLEへの接続方法がよくわかりません。 解説書のORACLEへの接続へのクラスファイルを実行してみましたがエラーとなって しまいます。(コンパイルは通ります)ちなみにクラスファイルの中身は... import java.sql.*; /* 省略 */ Class.forName("oracle.jdbc.driver.OracleDriver"); String url = "jdbc:oracle:thin:@hostname:1521:ORA817"; /* 省略 */ Connection conn = DriverManager.getConnection(url, user, password); /* 以下省略 */ この中でJDBCドライバのURLの@hostnameの部分にサーバーのIP(202.15....) ORA817の部分にデータベース名を入れ、ユーザ-、パスワードも実在するものにしてあります。Class.forNameの部分は変える必要があるのでしょうか?ファイルの場所は"C:\A116"です。ちなみにエラーメッセージは... C:\A116>java GetConnectionDemo java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at GetConnectionDemo.main(GetConnectionDemo.java:6) ORACLEサーバ WINDOWS2000 ORACLE 8.1.6i です。 宜しくお願い致します。
- ベストアンサー
- Java
- JavaでのOracle接続について(JDBC)
はじめまして。 先週よりJavaの勉強を始めていまして 先日からDB接続(Oracle)をやっているのですが、Oracleに接続することが出来ません。色々なサイトからクラスパスが通っていないというエラーのようなのですが、プログラミング経験のある友人に聞いてもさっぱり原因が分かりません。また何度もインストールをやり直して同じです。以下に環境とソースを載せておきますので、もし何か解決のヒントになるような事がありましたら教えて下さい。 ●状況 (1)コンパイルは通るがjavaコマンドで実行をすると”Exception in thread "main" java.lang.ClassNotFoundException: oracle.jdbc.driveOracleDriver”が出てしまう。 (2)C:\oracle\ora92\jdbc\lib\ojdbc14.jarを環境変数→Pathへしっかりと通してあります。(setコマンドでも確認済みです) (3)C:\j2sdk1.4.1_02\jre\lib\extへojdbc14.jarをコピー (4)SQL PLUSからは接続出来る。 ●環境 クライアント:Win2000 DBサーバー:SQLサーバー(別マシンに環境構築) DB:Oralce9.2.0 JDK:1.4.1_02 import java.sql.*; class Employee { public static void main (String args []) throws SQLException,ClassNotFoundException { // Oracle JDBC Driverのロード Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@ホスト名:1521:SID", "ID", "パスワード"); Statement stmt = conn.createStatement (); ResultSet rset = stmt.executeQuery ("SQL"); while (rset.next ()) System.out.println (rset.getString ("ISBN")); rset.close(); conn.close(); } } 以上です。何か足りない情報がありましたら教えて下さい。
- 締切済み
- Oracle
- JDBCでMySQLに接続
Linuxにmysql-4.1.7をインストールして、JDBCドライバを入れ、javaからデータベースを操作しようとしています。 しかし、「mysqld_safe --user=mysql &」を実行してから、javaプログラムをコンパイルして実行すると、 java.sql.SQLException: Cannot connect to MySQL server on localhost:3306. Is there a MySQL server running on the machine/port you are trying to connect to? (java.net.ConnectException) at org.gjt.mm.mysql.Connection.connectionInit(Connection.java:331) at org.gjt.mm.mysql.jdbc2.Connection.connectionInit(Connection.java:89) at org.gjt.mm.mysql.Driver.connect(Driver.java:167) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) at HelloWorldJDBCMySQL.main(HelloWorldJDBCMySQL.java:15) というエラーが出てしまいます。原因がわかる方がおられましたら、ご指導のほどよろしくお願いいたします。
- 締切済み
- MySQL
- JDBCに初めて挑戦しようとしたのですが。
「JAVA+MySQL+Tomcatで始めるWebアプリケーション開発入門」という本でJDBCに初めて挑戦しようとしたのですが、下記のようなエラーが出てうまく実行できませんでした。 java.sql.SQLException: Access denied for user: 'Mulder@localhost' (Using passwor d: YES) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2928) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:771) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1229) at com.mysql.jdbc.Connection.createNewIO(Connection.java:2558) at com.mysql.jdbc.Connection.<init>(Connection.java:1485) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java :266) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at JdbcTest.main(JdbcTest.java:12) Exception in thread "main" java.lang.NullPointerException at JdbcTest.main(JdbcTest.java:24) 原因など、わかる方がいたら教えていただきたいです。 よろしくお願いします。
- ベストアンサー
- Java
- MySQL と JDBCで・・・
質問させてください。 windows98に ・j2sdk-1_4_1_07-windows-i586.exe ・mysql-4.0.25-win32.zip ・mysql-connector-java-3.1.10.zip をダウンロードしました。 環境変数を設定し javaソースコードを作成しました。 コンパイルは出来たのですが、実行すると コマンドプロンプトに java.sql.SQLException: Access denied for user: '@localhost' to database 'hellodb ' at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2921) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:770) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1228) at com.mysql.jdbc.Connection.createNewIO(Connection.java:2544) at com.mysql.jdbc.Connection.<init>(Connection.java:1474) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java :264) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:193) at HelloWorldJDBCMySQL.main(HelloWorldJDBCMySQL.java:15) と表示されてしまいます。 過去ログを見させていただきましたが自分の求める回答を見つけきれませんでした。 どなたかご教授のほど、よろしくお願いします。
- 締切済み
- MySQL
- JavaからOracleを呼ぶ。(JDBCドライバの利用方法)
色々調べましたが分からないので質問させてください。よろしくお願いします。 JavaからOracleを使いたくて、JDBCドライバのことを調べています。 Oracle(のClient)がインストールされた私のパソコン ↓ D:\oracle\ora92\jdbc\lib\classes12.zip\oracle\jdbc\driver\OracleDriver.class まず、コマンドプロンプトにてクラスパスを通しました。 C:\java > set CLASSPATH = D:\oracle\ora92\jdbc\lib\classes12.zip (↑CのjavaフォルダにSqlTest.javaを作成しています。) コンパイルは成功しましたが、実行はできません(;_;) java.lang.ClassNoClassDefFoundError: SqlTest というエラーです。 詳しい方、どうかご教授よろしくお願いします。
- ベストアンサー
- Java
補足
回答ありがとうございます。 sqlplusで同じSQL文が発行できるので接続は出来てると思います。 4.どのように設定すればいいのでしょか? 6.これは何を書けばいいのでしょうか? わからないことだらけですいません。 よろしくお願いします。