私はJava関連のWeb開発の初心者であり、JDBCが動作する単純なプログラムを入手できないようです。市販のOracle 10g XEとEclipse EE IDEを使用しています。これまでに確認した書籍とWebページから、問題をデータベースURLの記述が間違っているか、JARファイルが欠落していることに絞り込んでいます。次のエラーが表示されます。
Java.sql.SQLException:jdbc:Oracle://127.0.0.1:8080に適したドライバーが見つかりません
次のコードで:
import Java.sql.*;
public class DatabaseTestOne {
public static void main(String[] args) {
String url = "jdbc:Oracle://127.0.0.1:8080";
String username = "HR";
String password = "samplepass";
String sql = "SELECT EMPLOYEE_ID FROM EMPLOYEES WHERE LAST_NAME='King'";
Connection connection;
try {
connection = DriverManager.getConnection(url, username, password);
Statement statement = connection.createStatement();
System.out.println(statement.execute(sql));
connection.close();
} catch (SQLException e) {
System.err.println(e);
}
}
}
とにかく、データベースURLの適切な形式は何ですか?彼らは多く言及されていますが、私は説明を見つけることができませんでした。
編集(解像度):
Duffymoの答えに基づいて、私はojdbc14.jar
from Oracleのダウンロードサイト で、Eclipseプロジェクトの参照ライブラリにドロップしました。次に、コードの開始を
...
// jdbc:Oracle:thin:@<hostname>:<port>:<sid>
String url = "jdbc:Oracle:thin:@GalacticAC:1521:xe";
...
そしてそれは働いた。
これを設定するには2つの方法があります。 SIDがある場合は、次の(古い)形式を使用します。
_jdbc:Oracle:thin:@[Host][:PORT]:SID
_
Oracleサービス名がある場合は、次の(新しい)形式を使用します。
_jdbc:Oracle:thin:@//[Host][:PORT]/SERVICE
_
ソース: このOraFAQページ
また、duffymoが言ったように、クラスパスに_ojdbc6.jar
_を含めることで、実際のドライバーコードが存在することを確認します。番号は、使用しているJavaバージョンに対応します。
Urlの正しい形式は、次の形式のいずれかです。
jdbc:Oracle:thin:@<hostName>:<portNumber>:<sid>; (if you have sid)
jdbc:Oracle:thin:@//<hostName>:<portNumber>/serviceName; (if you have Oracle service name)
そこにスペースを入れないでください。ポート番号として1521を使用してみてください。 sid(データベース名)は、環境変数にあるものと同じでなければなりません(Windowsを使用している場合)。
oracle 10g expree Editionを使用している場合:
1。クラスをロードするにはDriverManager.registerDriver (new Oracle.jdbc.OracleDriver());
を使用します。2.データベースに接続するにはConnection conn = DriverManager.getConnection("jdbc:Oracle:thin:username/password@localhost:1521:xe");
を使用します
String Host = <Host name>
String port = <port>
String service = <service name>
String dbName = <db schema>+"."+service
String url = "jdbc:Oracle:thin:@"+Host+":"+"port"+"/"+dbName
DriverManager.registerDriver(new Oracle.jdbc.driver.OracleDriver());
connection = DriverManager.getConnection("jdbc:Oracle:thin:@machinename:portnum:schemaname","userid","password");
私はJava開発者ではないので、残念ながらコードに直接コメントすることはできませんが、接続の形式に関してはOracle FAQひも
jdbc:Oracle:<drivertype>:<username/password>@<database>
http://www.Oracle.com/technetwork/database/enterprise-edition/jdbc-faq-090281.html#05_
役立つことを願っています