• ベストアンサー

Oracle Database 10g Express Editionを使いたい

と思いDLしてインストールして SQLPLUSで ユーザ:usr1 パスワード:psswd1 でOracleに入り SQL> CREATE TABLE "PROJECT" ( "ID" NUMBER NOT NULL ENABLE, "PJNAME" VARCHAR2(100) NOT NULL ENABLE, CONSTRAINT "PROJECT_PK" PRIMARY KEY ("ID") ENABLE ) / 2 3 4 5 6 表が作成されました。 SQL> describe project; 名前 NULL? 型 ----------------------------------------- -------- ---------------------------- ID NOT NULL NUMBER PJNAME NOT NULL VARCHAR2(100) SQL> とテーブルを作り以下のJavaアプリを作り実行しましたが 動きませんでした。getConnectionの引数の "jdbc:oracle:thin:@localhost:1521:ORCL" の中のORCLの部分に何を入れてよいのか分からなかったので 根拠なしにORCLを使ったのが悪かったと思います。 ORCLの部分には何を入れたらいいのでしょうか? package pack; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JdbcTest { public static void main(String args[]) throws SQLException,ClassNotFoundException { Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL","usr1","psswd1"); Statement stmt = conn.createStatement(); ResultSet rset = stmt.executeQuery("select ip,pjname from project"); while (rset.next()) { System.out.println(rset.getInt(1) + "\t" + rset.getString(2)); } rset.close(); stmt.close(); conn.close(); } } エラー:Exception in thread "main" java.sql.SQLException: Listener refused the connection with the following error: ORA-12505, TNS:listener does not currently know of SID given in connect descriptor The Connection descriptor used by the client was: localhost:1521:ORCL

質問者が選んだベストアンサー

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.4

> MySQLやPostgreSQLでいうところの > CREATE DATABASE xxxx; そうよ。

reiman
質問者

お礼

ありがとうございました。

その他の回答 (3)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.3

> 無料だからデータベースは’XE’だけしか使えないのでしょうか? 規約を読めばわかるけど その通りよ。 1個だけなの。

reiman
質問者

補足

ありがとうございます。 ORACLEサーバーのインスタンス というのは MySQLやPostgreSQLでいうところの CREATE DATABASE xxxx; で作成されるxxxxのことでしょうか? そしてPostgreSQLにおいては createdb xxxx; で作られるxxxxのようなものでしょうか?

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.2

ORACLEインスタンスとは、システムグローバル領域(SGA)と 共有プール、データベースバッファキャッシュ、REDOログバッファ、 ラージプール、Javaプールなどで構成され、 その名のとうり、ORACLEサーバーの主体を成しております。 従ってXEバージョンのORACLEサーバーのインスタンス名が XEだということでしょう。 参考 ORACLE9iDBAI教科書

reiman
質問者

補足

ありがとうございます。 ORACLEサーバーのインスタンス というのは MySQLやPostgreSQLでいうところの CREATE DATABASE xxxx; で作成されるxxxxのことでしょうか?

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.1
reiman
質問者

補足

ありがとうございます。 確かに ORCL→XE と修正し 他にスペルミスのチョンボの修正 ip→id をし実行すれば動きました。 無料だからデータベースは’XE’だけしか使えないのでしょうか?