连远程的报的什么错??
改用sqlserver的jdbc驱动来连吧,别用odbc桥了,速度慢
改用sqlserver的jdbc驱动来连吧,别用odbc桥了,速度慢
解决方案 »
- 求大神帮助
- 关于邮资计算的问题(java初学者),高手请进
- 高分求解(确认方法可行立即结帐)
- 线程池和jvm的自动回收机制带来的疑问
- Java如何获取win2k系统登陆用户名?
- [快疯掉了!]求助:为什么我的这个jar死活找不到主函数?(解决这个问题的人再送100分)
- 最简单的APPLET程序。小程序查看器能用,HTML直接打开是叉叉,求教
- Jbuilder3.0的一个小问题
- 用rose试图生成java代码,提示如下错误,求教高手!
- 请问高手怎样配置weblogic?
- 用了GridBagLayout,结果运行时窗体上什么控件都不显示,要调整窗体大小才会显示!!这是怎么回事啊??
- 请问为什么我在自己做的包里的类不能用*来全部导入,而要指出某个具体的类?
import java.sql.*;
public class jdbc{
public static void main(String args[]) throws SQLException{
ResultSet rs = null;
PreparedStatement ps = null;
String url = "jdbc:odbc:test";
Connection con;
Statement stmt;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
con = DriverManager.getConnection(url,"sa","123456");
con.setAutoCommit(false);
stmt = con.createStatement();
rs = stmt.executeQuery("select * from testtable");
System.out.println("Table before insertion:");
while (rs.next()){
//String number = rs.getString("Number");
String name = rs.getString("Name");
int age = rs.getInt("Age");
System.out.println( name + " " + age);
}
stmt.addBatch("INSERT INTO testtable " +"VALUES('李天梅',23)");
int [] updateCounts = stmt.executeBatch();
con.commit();
con.setAutoCommit(true);
rs = stmt.executeQuery("SELECT * FROM testtable");
System.out.println("Table after insertion:");
while (rs.next()){
//String number = rs.getString("Number");
String name = rs.getString("Name");
int age = rs.getInt("Age");
System.out.println( name + " " + age);
}
rs.close();
stmt.close();
con.close();
}}谢谢,今天又检查了一遍,远程已经能连了,是因为数据库权限的问题
速度是很慢
请教一下,怎么用sqlserver的jdbc驱动来连?能给段例程或网址吗?
再次感谢!
给你贴个地址吧,你自己去看
http://www.csdn.net/develop/Read_Article.asp?Id=21548连远程的机子的sqlserver,只需要改下面这一句:
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=haiguan";
把localhost改成远程机器的ip或者机器名就可以了
import java.sql.DriverManager;
public class Jdbc{
public static void main(String[] args){
try{
//Class d=Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //(1)
Class d=Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //(2)System.out.println("Congratulations!loaded"+d); }catch(ClassNotFoundException ex){
System.out.println("can't load driver: \n"+ex);
}
}
}
上面这段程序,能成功运行,但如果我改用(1),把(2)注释掉则显示can't load driver
请问是什么原因?是不是要安装什么东西?
我改用
String url="jdbc:microsoft:sqlserver://61.xx.xx.xx:1433;DatabaseName=test"; 后出现如下错误:
Exception in thread "main" java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:532)
at java.sql.DriverManager.getConnection(DriverManager.java:172)
at jdbc.main(jdbc.java:22)
Press any key to continue...
是没有驱动吧?
但错误依旧
麻烦您能再指点一下
把那三个jar拷贝到jdk的lib目录下重新指定一次
// jdbc1.java
import java.sql.*;
public class jdbc1{
public static void main(String args[]) throws SQLException{
ResultSet rs = null;
PreparedStatement ps = null;
//方法(1)
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
//
//方法(2)
//String driverName="sun.jdbc.odbc.JdbcOdbcDriver";
//String url = "jdbc:odbc:test";
//
Connection con;
Statement stmt;
try {
Class.forName(driverName);//.newInstance();
}
catch(java.lang.ClassNotFoundException e) {
System.err.println(e.getMessage());
}
con = DriverManager.getConnection(url,"sa","zbroot");
con.setAutoCommit(false);
stmt = con.createStatement();
rs = stmt.executeQuery("select * from testtable");
System.out.println("Table before insertion:");
while (rs.next()){
String name = rs.getString("Name");
int age = rs.getInt("Age");
System.out.println( name + " " + age);
}
stmt.addBatch("INSERT INTO testtable " +"VALUES('李天梅',23)");
int [] updateCounts = stmt.executeBatch();
con.commit();
con.setAutoCommit(true);
rs = stmt.executeQuery("SELECT * FROM testtable");
System.out.println("Table after insertion:");
while (rs.next()){
String name = rs.getString("Name");
int age = rs.getInt("Age");
System.out.println( name + " " + age);
}
rs.close();
stmt.close();
con.close();
}}真的十分感谢,现在已经解决了,程序如上
无论用方法1还是方法2都能正确执行
只不过我对这些语句还是不知道什么意思,还得看书去