drivers=com.microsoft.jdbc.sqlserver.SQLServerDriver
url=jdbc:microsoft:sqlserver://localhost:1433;
DatabaseName=studentmanager
user=sa
password=411516wwd  :这个是配制文件,以下是一个程序:运行这个程序时..就是报错..NOT suitable driver..请问怎么回事呢????
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.Date;
import java.util.Properties;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileNotFoundException;
public class CreatTableTest
{
   private Connection con;
   private String url;
   private String userName;
   private String password;
   public static void main(String[] args)
{
      CreatTableTest test=new CreatTableTest();
  test.getProperty();
  Connection con=test.getConnection();
  test.createTable(con);
  test.getStudent(con);
   }
   public void createTable(Connection con)
{
      try
      {
       Statement st=con.createStatement();
String sql="CREATE TABLE student(姓名 varchar(12) NOT NULL,"+"学号 varchar(10) NOT NULL,"+
"出生日期 datetime NOT NULL,专业 varchar(10) NULL,"+"籍贯 varchar(30) NULL)";
System.out.println("输出的SQL语句是:");
    System.out.println(sql);
st.execute(sql);
sql="insert into student values('邱培光','20005010819','1984-9-16','英语','福建')";
st.executeUpdate(sql);
st.close();
      }
      catch (SQLException e)
      {
  e.printStackTrace();
      }
   }
   public void getStudent(Connection con)
{
      try
      {
       Statement st=con.createStatement();
String sql="select * from student";
ResultSet rs=st.executeQuery(sql);
while(rs.next())
  {
    String name=rs.getString("姓名");
String number=rs.getString("学号");
Date date=rs.getDate("出生日期");
String spe=rs.getString("专业");
String address=rs.getString("籍贯");
System.out.println("\n姓名:"+name+"\t学号:"+number+"\t出生日期:"+date+"\t专业:"+spe+"\t籍贯:"+address);
st.close();
con.close();
}
      }
      catch (SQLException e)
      {
  e.printStackTrace();
      }
   }
   public Connection getConnection()
{
      try
      {
       con=DriverManager.getConnection(url,userName,password);
      }
      catch (SQLException e)
      {
  e.printStackTrace();
      }
  return con;
   }
   public void getProperty()
{
   Properties prop=new Properties();
      try
      {
       FileInputStream in=new FileInputStream("driver.properties");
prop.load(in);
String driver=prop.getProperty("drivers");
if(driver!=null)System.setProperty("jdbc.drivers",driver);
url=prop.getProperty("url");
userName=prop.getProperty("user");
password=prop.getProperty("password");
      }
      catch (FileNotFoundException e)
      {
  e.printStackTrace();
      }
  catch(IOException e)
{
          e.printStackTrace();   
  }
   }
}

解决方案 »

  1.   

    这个原因在你设置得数据长度太小了
    你自己再试一下都改成VARCHAR(20)的就肯定没问题了
    你自己测试一下看那个太小吧再根据自己的需求调一下就好了
      

  2.   

    NOT suitable driver..
    就是驱动和连接的URL问题
      

  3.   

    ...我用的是oracle.
    应高是driver错了
      

  4.   

    没有合适的驱动,重新配置一下MS-SQL的驱动
      

  5.   

    用的是什么版本的SQL Server,如果是2000的,至少要打SP3补丁,推荐SP4
    可以在查询分析器中输入select @@ version
    运行后如果版本低于Microsoft SQL Server  2000 - 8.00.0760 
    那就有可能出现这种错误的。
    打了SP4补丁的话应该是8.00.2039
      

  6.   

    是不是没有加载驱动阿private String driver;public void getProperty()
    {
       Properties prop=new Properties();
          try
          {
          FileInputStream in=new FileInputStream("driver.properties");
    prop.load(in);
    driver=prop.getProperty("drivers");
    if(driver!=null)System.setProperty("jdbc.drivers",driver);
    url=prop.getProperty("url");
    userName=prop.getProperty("user");
    password=prop.getProperty("password");
          }
          catch (FileNotFoundException e)
          {
      e.printStackTrace();
          }
      catch(IOException e)
    {
              e.printStackTrace();  
      }
       }
       public Connection getConnection()
    {
          try
          {
          Class.forName().newInstance(driver);
          con=DriverManager.getConnection(url,userName,password);
          }
          catch (SQLException e)
          {
      e.printStackTrace();
          }
      return con;
       }
      

  7.   

    错了 应该是 Class.forName(driver).newInstance();