其实这个问题很老了,可是我在做课程设计时还是老遇到问题。
我开发一个图书管理系统,要连接MS sql server和Mysql两种数据库,可是不知道为什么两个都连不上其中我已经从微软的网站上下了IDBC:ODBC桥连接用的驱动器(三个压缩文件),放在了java路径的lib目录下,并改了环境变量中的PATH值,然后重启。
然后编写了一段代码测试,老是连接不上:
/*通过使用JDBC-ODBC 桥的建立
* Access 数据库
*SimpleJDBC.java;
*/
import java.io.*;
import java.sql.*;
public class SimpleJDBC {
public static void main(String args[]) throws SQLException,
IOException,
ClassNotFoundException
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=TEST"; String user="sa"; String password=""; Connection conn= DriverManager.getConnection(url,user,password);
//通过DriverManager获得连接
System.out.println(" Successfully established @_@ :p !");
/* 第二步:建立表
* 通过JDBC-ODBC建立表
*/
ResultSet rest=null;
Statement statement=connection.createStatement();
statement.executeUpdate("drop table user");
statement.executeUpdate("Create table user("
+"userID integer,"
+"userName char(10))"
);
statement.executeUpdate("insert into user values(001,'beggarson')");
statement.executeUpdate("insert into user values(002,'Tom')");
statement.executeUpdate("insert into user values(003,'Marry')");
statement.executeUpdate("insert into user values(004,'Jun')");
rest=statement.executeQuery("select * from user");
while(rest.next()){
System.out.print("userID "+rest.getString("userID"));
System.out.println(" userName "+rest.getString("userName"));
}
rest.close();
statement.close();
connection.close();
}
}
写的不标准,没用try和catch等括起来,我会改的。可是连接不上。
而且更气愤的是我从mysql官方网上找了半天也没找到驱动器,更别提怎么设置了。
可能我的英语太烂了吧!
:(希望各位高手指教下,谢谢先。
不管怎么样,谢谢阅读。
我开发一个图书管理系统,要连接MS sql server和Mysql两种数据库,可是不知道为什么两个都连不上其中我已经从微软的网站上下了IDBC:ODBC桥连接用的驱动器(三个压缩文件),放在了java路径的lib目录下,并改了环境变量中的PATH值,然后重启。
然后编写了一段代码测试,老是连接不上:
/*通过使用JDBC-ODBC 桥的建立
* Access 数据库
*SimpleJDBC.java;
*/
import java.io.*;
import java.sql.*;
public class SimpleJDBC {
public static void main(String args[]) throws SQLException,
IOException,
ClassNotFoundException
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=TEST"; String user="sa"; String password=""; Connection conn= DriverManager.getConnection(url,user,password);
//通过DriverManager获得连接
System.out.println(" Successfully established @_@ :p !");
/* 第二步:建立表
* 通过JDBC-ODBC建立表
*/
ResultSet rest=null;
Statement statement=connection.createStatement();
statement.executeUpdate("drop table user");
statement.executeUpdate("Create table user("
+"userID integer,"
+"userName char(10))"
);
statement.executeUpdate("insert into user values(001,'beggarson')");
statement.executeUpdate("insert into user values(002,'Tom')");
statement.executeUpdate("insert into user values(003,'Marry')");
statement.executeUpdate("insert into user values(004,'Jun')");
rest=statement.executeQuery("select * from user");
while(rest.next()){
System.out.print("userID "+rest.getString("userID"));
System.out.println(" userName "+rest.getString("userName"));
}
rest.close();
statement.close();
connection.close();
}
}
写的不标准,没用try和catch等括起来,我会改的。可是连接不上。
而且更气愤的是我从mysql官方网上找了半天也没找到驱动器,更别提怎么设置了。
可能我的英语太烂了吧!
:(希望各位高手指教下,谢谢先。
不管怎么样,谢谢阅读。
解决方案 »
- 基于junit的单元测试,请大家帮我设计这个计算器的测试用例
- java如何解析XML文件"单标签"里的属性?
- 苦恼!jdbc连接数据库的问题
- 各位好心人可以帮我解决一下这个小问题,万心感谢
- 看看这个==和equals和!=的问题
- 类型转换
- 求解(约瑟夫问题)
- 关于System.exit(0)的作用问题
- 安卓快播QVOD协议讨论,再开一帖讨论.来者有分
- jbuilder和weblogic环境中如何做jar,war,ear文件?
- 不遍历文件夹,有没有办法获得文件夹内的文件数量?
- 编译成class文件后,运行时提示: Exception in thread "main" java.lang.NoClassDefFoundError:c:\HelloWorld
我也做过,你去看看
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;/*
* Created on 2005-7-13
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*//**
* @author Administrator
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class TestConnectDB {
public static void main(String args[]) {
Connection con = null;
Statement stmt = null;
try {
String driverName = "oracle.jdbc.driver.OracleDriver";
Class.forName(driverName);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} String serverName = "127.0.0.1"; String serverPort = "1521"; String serverID = "oracl"; String userName = "goa"; String userPsw = "goa"; String url = "jdbc:oracle.thin:@" + serverName + ":" + serverPort + ":"
+ serverID;
try { con = DriverManager.getConnection(url, "goa", "goa");
} catch (SQLException e1) { e1.printStackTrace();
}
try {
stmt = con.createStatement();
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
String createTableCoffees = "create table test_table "
+ "(id varchar2(32), name varchar2(32),sex int) ";
try {
stmt.executeUpdate(createTableCoffees);
} catch (SQLException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
try {
stmt.executeUpdate("insert into test_table "
+ "values('20050713001','小军',1)");
} catch (SQLException e4) {
// TODO Auto-generated catch block
e4.printStackTrace();
} }
}
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at TestConnectDB.main(TestConnectDB.java:27)
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at TestConnectDB.main(TestConnectDB.java:46)
java.lang.NullPointerException
at TestConnectDB.main(TestConnectDB.java:52)
Exception in thread "main"
捕获异常的信息是:java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
2。然后你又让程序继续执行到下面这句
con = DriverManager.getConnection(url, "goa", "goa");
导致了第二个异常:java.sql.SQLException: No suitable driver
3.你又再让程序继续到stmt = con.createStatement();导致了最后一个异常
java.lang.NullPointerException
这是因为con是null所致
属性未被指定且 ExecPermissions/ExecOptionPermissions
均未被授权。随后的激活尝试失败,原因是对
ExecPermission/ExecOptionPermission 的权限检查失败。 有关如何
配置 rmid 安全性的文档说明,请参阅: http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html
http://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.htmlActivation.main: 出现异常:Port already in use: 1098; nested exception is:
java.net.BindException: Address already in use: JVM_Bind
java.rmi.server.ExportException: Port already in use: 1098; nested exception is:
java.net.BindException: Address already in use: JVM_Bind
at sun.rmi.transport.tcp.TCPTransport.listen(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.exportObject(Unknown Source)
at sun.rmi.transport.tcp.TCPEndpoint.exportObject(Unknown Source)
at sun.rmi.transport.LiveRef.exportObject(Unknown Source)
at sun.rmi.server.UnicastServerRef.exportObject(Unknown Source)
at sun.rmi.registry.RegistryImpl.setup(Unknown Source)
at sun.rmi.registry.RegistryImpl.<init>(Unknown Source)
at java.rmi.registry.LocateRegistry.createRegistry(Unknown Source)
at sun.rmi.server.Activation.main(Unknown Source)
Caused by: java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(Unknown Source)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(Unknown Source)
at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(Unknown Source)
... 9 more
谢谢!!
我这样做的原因是因为我在机房调试时,
不能修改环境变量.
或者你把第三方的包都放在$j2sdk$\jre\lib\ext\下面
这样的话什么都不要改了