No suitable driver found

wd9053 2010-07-01 02:20:43
控制面板已添加数据源并且连接正常,可还找不到驱动,请各位指点一下
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;

public class Test
{
public static void main(String[] args)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc::odbc:mine", "scott", "tiger");

Statement sm = con.createStatement();
ResultSet rs = sm.executeQuery("select * from emp");
while(rs.next())
{
System.out.println("用户名" + rs.getString(2));
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
...全文
1324 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wd9053 2010-07-01
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 iihero 的回复:]
sigh, 楼主,还是你的代码问题啊,你好粗心哦:-)

Connection con = DriverManager.getConnection("jdbc::odbc:mine", "scott", "tiger");

应该是jdbc:odbc:mine
多了一个冒号
[/Quote]

额,我错了。。感谢大家的帮忙
iihero 2010-07-01
  • 打赏
  • 举报
回复
sigh, 楼主,还是你的代码问题啊,你好粗心哦:-)

Connection con = DriverManager.getConnection("jdbc::odbc:mine", "scott", "tiger");

应该是jdbc:odbc:mine
多了一个冒号
wd9053 2010-07-01
  • 打赏
  • 举报
回复
自己顶一下
wd9053 2010-07-01
  • 打赏
  • 举报
回复
java.sql.SQLException: No suitable driver found for jdbc::odbc:mine
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Test.main(Test.java:45)
cyousor 2010-07-01
  • 打赏
  • 举报
回复
换这个呢

Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );


试试
iihero 2010-07-01
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wd9053 的回复:]

我在控制面板-ODBC数据源管理器-用户DSN中创建了一个数据源mine,mine连接数据库TEST,在控制面板中用scott/tiger测试连接正常
[/Quote]
那就奇怪了,你把stacktrace完整的帖出来吧,可能跟环境有关。
wd9053 2010-07-01
  • 打赏
  • 举报
回复
我在控制面板-ODBC数据源管理器-用户DSN中创建了一个数据源mine,mine连接数据库TEST,在控制面板中用scott/tiger测试连接正常
wd9053 2010-07-01
  • 打赏
  • 举报
回复
但是用jdbc连接却正常
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Test
{
public static void main(String[] args)
{
try
{
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//得到连接
Connection ct = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:TEST", "scott", "tiger");

//从下面开始和sql server一样
Statement sm = ct.createStatement();
ResultSet rs = sm.executeQuery("select * from emp");
while(rs.next())
{
System.out.println("用户名" + rs.getString(2));
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
iihero 2010-07-01
  • 打赏
  • 举报
回复
楼主用的是jdbc-odbc桥方式,所以,根本 不需要oracle的jdbc驱动,反倒是需要oracle的odbc驱动。
你得创建一个oracle odbc数据源:mine
先自己测试这个数据源看能否连通吧
luocb1980 2010-07-01
  • 打赏
  • 举报
回复
倒,加入你的java project的build path。
wd9053 2010-07-01
  • 打赏
  • 举报
回复
classpath=.;F:\Program Files\Java\jdk1.6.0_13\lib;F:\app\wd\product\11.1.0\db_2\
sqldeveloper\jdbc\lib\ojdbc14.jar;F:\app\wd\product\11.1.0\db_2\oui\jlib\classes
12.jar
仍然报错
luocb1980 2010-07-01
  • 打赏
  • 举报
回复
你把class12.jar加入build path.
cyousor 2010-07-01
  • 打赏
  • 举报
回复
不是,是class12.jar或者ojdbc14.jar之类的
wd9053 2010-07-01
  • 打赏
  • 举报
回复
系统已安装的驱动程序
Oracle in OraDb11g_home2

是这个吗?
cyousor 2010-07-01
  • 打赏
  • 举报
回复
你导入驱动包了么,,,oracle12 什么的
资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在进行Servlet开发时,尤其是在尝试连接数据库时,我们经常会遇到一个异常:“java.sql.SQLException: No suitable driver found for”。这个异常表明Java应用程序无法找到合适的JDBC驱动程序来连接数据库。 “java.sql.SQLException: No suitable driver found for”异常表示在尝试建立数据库连接时,系统未能找到能够处理指定URL的合适驱动程序。这可能是因为缺少必要的JDBC驱动程序、驱动程序未正确加载,或者驱动程序与当前环境不兼容等原因导致的。 确保连接数据库的URL、用户名和密码都是正确的。例如: URL:确保格式正确,包括数据库名称和端口号。 用户名和密码:确保用户名和密码正确。 注意参数serverTimezone和useSSL是否符合实际需求。 如果JDBC驱动程序没有正确导入项目中,也会导致此异常。可以通过以下几种方式导入MySQL的JAR包: WEB-INF/lib:将MySQL的JAR包放在项目的WEB-INF/lib目录下。 JDK安装目录下的lib/ext:将MySQL的JAR包放在JDK安装目录下的lib/ext目录中。但这种方式可能会影响其他依赖该JDK的应用。 Tomcat的lib目录:将MySQL的JAR包放在Tomcat服务器的lib目录中,这样可以确保Tomcat启动时加载此JAR包。 JDBC驱动程序与JDK版本不兼容也可能导致此异常。解决方法是: 下载合适的驱动版本:根据当前使用的JDK版本,下载对应的MySQL JDBC驱动版本。例如,对于JDK 8,建议使用MySQL Connector/J 5.1.x或8.0.x版本。 确保导入的JAR包版本与JDK

17,380

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧