1つだけ過去を変えられるとしたら?

と思い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

A 回答 (4件)

> MySQLやPostgreSQLでいうところの


> CREATE DATABASE xxxx;
そうよ。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/11 18:14

> 無料だからデータベースは’XE’だけしか使えないのでしょうか?


規約を読めばわかるけど
その通りよ。
1個だけなの。

この回答への補足

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

補足日時:2009/05/11 17:20
    • good
    • 0

ORACLEインスタンスとは、システムグローバル領域(SGA)と


共有プール、データベースバッファキャッシュ、REDOログバッファ、
ラージプール、Javaプールなどで構成され、

その名のとうり、ORACLEサーバーの主体を成しております。
従ってXEバージョンのORACLEサーバーのインスタンス名が
XEだということでしょう。

参考 ORACLE9iDBAI教科書

この回答への補足

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

補足日時:2009/05/11 17:17
    • good
    • 0

この回答への補足

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

補足日時:2009/05/11 13:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!