当前位置: 代码迷 >> J2SE >> 小弟我通过odbc数据源连接sql server2000 求救!
  详细解决方案

小弟我通过odbc数据源连接sql server2000 求救!

热度:215   发布时间:2016-04-24 18:06:09.0
我通过odbc数据源连接sql server2000 求救!!
[code=Java][/code]
import java.sql.*;
public class sqltexs
{
  public static void main(String[] args) 
{
Connection ct = null;
Statement sm = null;
try
{
Class.forName(" sun.jdbc.odbc.JdbcOdbcDriver");
ct = DriverManager.getConnection("jdbc : odbc : mytext","sa","123");
//3.创建Statement,用于发送sql语句.
sm = ct.createStatement();
//excunteUpdate()
 
int counter= sm.executeUpdate("select * from grade");
System.out.println(counter);
}
catch (Exception e)
{

System.out.println("df");
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

结果:
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at demo.sqltexs.main(sqltexs.java:13)

------解决方案--------------------
你odbc的url的有问题,似乎是中文输入法的字符,你先改成jdbc:odbc:mytext 试一下,你的程序最后都没有及时关闭数据库连接……
------解决方案--------------------
odbc连接时不需要添加驱动包的,但是要配置数据源的。
Java code
public class sqltexs{    public static void main(String[] args) {        Connection ct = null;        Statement sm = null;        try {            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");            ct = DriverManager.getConnection("jdbc:odbc:mytext", "sa", "123");            // 3.创建Statement,用于发送sql语句.            sm = ct.createStatement();            // excunteUpdate()            ResultSet rs = sm.executeQuery("select * from grade"); // 得到结果集        } catch (Exception e) {            System.out.println("df");            // TODO Auto-generated catch block            e.printStackTrace();        }    }}
------解决方案--------------------
探讨

引用:
引用:

ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
你的驱动添加到classpath中去了吗?
odbc 不需要驱动吧.

谁说的?ODBC要配置数据源,还要加驱动的。

------解决方案--------------------
遇到同样问题悲剧!
------解决方案--------------------
楼主要细心,这个问题是因为你CTRL+C CTRL+V造成的。。。。你的Class.forName(" sun.jdbc.odbc.JdbcOdbcDriver"); 这里面有个空格,其实不需要这条语句的。。。因为JDBC自带这个这个驱动
你可以使用Enumeration enumeration= DriverManager.getDrivers();
while(enumeration.hasMoreElements()){
System.out.println(((Driver)enumeration.nextElement()).toString());
}
这个来验证我说的
------解决方案--------------------
探讨

引用:
引用:

ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
你的驱动添加到classpath中去了吗?
odbc 不需要驱动吧.

谁说的?ODBC要配置数据源,还要加驱动的。

------解决方案--------------------
Class.forName(" sun.jdbc.odbc.JdbcOdbcDriver");
改为这样:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
不要空格。
还有你要配数据源。
  相关解决方案