如题我做了个题,该配置的我都配置了,SQL服务器开了,MSBASE.JAR mssqlserver.jar MSUTIL.JAR这三个文件夹我也放到Lib目录下了,可是我用JDBC-ODBC桥能运行成功,用纯JDBC怎么就出现SQL异常了呢?????下面程序我注释掉的是用JDBC建立的连接,大家帮我看看有错么程序如下:
package jdbctest;/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.ResultSet;
import java.io.BufferedReader;
class JDBCTest {
Statement stat;
String strSql;
Connection con;
ResultSet rs;
BufferedReader br;
public JDBCTest() {
}
void establishConnettion(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}catch(ClassNotFoundException ce){
System.out.println(ce);
}
try{
String url="jdbc:odbc:myODBC";
//String url= "jdbc:microsoft:sqlserver://localhost:1433;databasename=product";
con=DriverManager.getConnection(url,"sa","sa");
stat=con.createStatement();
}catch(SQLException ce){
System.out.println("错误..."+ce);
}
}
void searchRecord(){
try{
// int roll=Integer.parseInt(br.readLine());
//String code=br.readLine();
rs=stat.executeQuery("Select * from Product");
}catch(SQLException ioe){
System.out.println(ioe);
}
}
void show(){
System.out.println("记录:");
try{while(rs.next())
{
System.out.print(rs.getString(1)+"\t");
System.out.print(rs.getString("ProductName")+"\t");
}
rs.close();
stat.close();
con.close();
}catch(SQLException ce){
System.out.print(ce);
}
}
public static void main(String[] args) {
JDBCTest jdbctest = new JDBCTest();
jdbctest.establishConnettion();
jdbctest.searchRecord();
jdbctest.show();
}
}
package jdbctest;/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.ResultSet;
import java.io.BufferedReader;
class JDBCTest {
Statement stat;
String strSql;
Connection con;
ResultSet rs;
BufferedReader br;
public JDBCTest() {
}
void establishConnettion(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}catch(ClassNotFoundException ce){
System.out.println(ce);
}
try{
String url="jdbc:odbc:myODBC";
//String url= "jdbc:microsoft:sqlserver://localhost:1433;databasename=product";
con=DriverManager.getConnection(url,"sa","sa");
stat=con.createStatement();
}catch(SQLException ce){
System.out.println("错误..."+ce);
}
}
void searchRecord(){
try{
// int roll=Integer.parseInt(br.readLine());
//String code=br.readLine();
rs=stat.executeQuery("Select * from Product");
}catch(SQLException ioe){
System.out.println(ioe);
}
}
void show(){
System.out.println("记录:");
try{while(rs.next())
{
System.out.print(rs.getString(1)+"\t");
System.out.print(rs.getString("ProductName")+"\t");
}
rs.close();
stat.close();
con.close();
}catch(SQLException ce){
System.out.print(ce);
}
}
public static void main(String[] args) {
JDBCTest jdbctest = new JDBCTest();
jdbctest.establishConnettion();
jdbctest.searchRecord();
jdbctest.show();
}
}
可以看一下配置
http://support.microsoft.com/kb/313100/zh-cn