//获取数据库连接的代码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 GetConn
{
private Connection con;
private String url;//数据库URL
private String userName;//登录数据库用户名
private String password;//用户密码
private String name="方法";
private String driver1;
public static void main(String[] args)
{ GetConn dbConn = new GetConn();
dbConn.getProperty();
Connection con = dbConn.getConnection();
}
/**
 * 返回到数据库的一个连接,在一个系统或类中,如果经常进行数据库的相关操作
 * 会把建立数据库的连接作为一个单独的方法。
 */
public Connection getConnection()
{
try
{
Class.forName(+driver1);
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("Drivers.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");
String aa=url;
String bb=userName;
String cc=password;
System.out.println(aa+bb+cc);
driver1=driver;
}
catch(FileNotFoundException e)
{
e.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}//属性文件内容
drivers=com.microsoft.jdbc.sqlserver.SQLServerDriver
url=jdbc:microsoft:sqlserver://xyz:1433;DatabaseName=java
user=sa
password=123
编译后执行 JAVA GETconn 提示:
java.sql.SQLException:NO SUITABLE Driver
at java.sql.DriverManager.getConnection(Unknown Source)
.........
为什么会提示没有合适的驱动,我应该怎样才可以运行,请指教,谢谢了!

解决方案 »

  1.   

    Class.forName(+driver1);
    这句写错了吧,+号是哪来的.
      

  2.   

    你的JAR包和数据库版本不对吧。或者没打补丁
      

  3.   

    driver1 从property文件中取,lz在property文件中找到了 driver的相关内容么?如果没有,建议lz直接写成字符窜算了。
      

  4.   

    Class.forName(+driver1); 这句是多余的,属性文件中连接串是取出来了,
    有可能是没有加sqlserver的jar包,但需要如何设置才算加了呢?
    如果要打补丁我应该怎么做?
      

  5.   

    偶觉得是JDBC驱动的问题....
      

  6.   

    我做了以下简单测试,还是不行,如果是驱动的问题,请问我应该如何设置,谢谢了!import java.sql.SQLException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Date;
    public class TestConn
    {
    public static void main(String[] args)
    {
    class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    String url="jdbc:microsoft:sqlserver://xyz:1433;DatabaseName=java";
    String userName="sa";
    String PassWord="123";
    Connection con = DriverManager.getConnection(url, userName, PassWord);
    }
    }
      

  7.   

    Java JDBC连接SQL Server 2000的数据库应该是SP3及以上的补丁,不知道你打了补丁没有。
      

  8.   

    是指SQL 20000 的SP3的补丁吗,没有打那我把补丁安装后再试试