Pop*_*ops 36 oracle jdbc oracle-xe
我是Java相关Web开发的新手,我似乎无法使用JDBC工作获得一个简单的程序.我正在使用现成的Oracle 10g XE和Eclipse EE IDE.从我到目前为止检查过的书籍和网页,我已经将问题缩小到错误编写的数据库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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
无论如何,数据库URL的正确格式是什么?他们被提到很多,但我找不到描述.
编辑(决议):
根据duffymo的回答,我ojdbc14.jar从Oracle的下载站点获取并将其放入Eclipse项目的Referenced Libraries中.然后我将代码的开头改为
...
// jdbc:oracle:thin:@<hostname>:<port>:<sid>
String url = "jdbc:oracle:thin:@GalacticAC:1521:xe";
...
Run Code Online (Sandbox Code Playgroud)
它起作用了.
Pop*_*ops 42
有两种方法来设置它.如果您有SID,请使用此(较旧)格式:
jdbc:oracle:thin:@[HOST][:PORT]:SID
Run Code Online (Sandbox Code Playgroud)
如果您有Oracle服务名称,请使用此(更新)格式:
jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE
Run Code Online (Sandbox Code Playgroud)
来源:此OraFAQ页面
此外,正如duffymo所说,通过ojdbc6.jar在类路径中包含数字来确保实际的驱动程序代码存在,其中数字对应于您正在使用的Java版本.
duf*_*ymo 37
你看这里.
您的网址非常不正确.应该是这样的:
url="jdbc:oracle:thin:@localhost:1521:orcl"
Run Code Online (Sandbox Code Playgroud)
您也没有注册驱动程序类.您想要下载瘦驱动程序JAR,将其放在CLASSPATH中,并使您的代码看起来更像这样.
更新:"ojdbc14.jar"中的"14"代表JDK 1.4.您应该将驱动程序版本与正在运行的JDK相匹配.我打赌这意味着JDK 5或6.
小智 17
url的正确格式可以是以下格式之一:
jdbc:oracle:thin:@<hostName>:<portNumber>:<sid>; (if you have sid)
jdbc:oracle:thin:@//<hostName>:<portNumber>/serviceName; (if you have oracle service name)
Run Code Online (Sandbox Code Playgroud)
并且不要在那里放置任何空间.尝试使用1521作为端口号.sid(数据库名称)必须与环境变量中的sid(数据库名称)相同(如果使用的是Windows).
小智 5
如果您使用的是 oracle 10g expree Edition 那么:
1. 用于加载类使用
DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
2. 用于连接到数据库使用
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:username/password@localhost:1521:xe");
| 归档时间: |
|
| 查看次数: |
216194 次 |
| 最近记录: |