我是java的新手,我正在Netbeans 6.9.1 IDE上开发Java EE应用程序。我必须将我的Java应用程序与SQL Server 2005连接。
为此,我已经下载了sqljdbc.jar文件并将其放入我的系统上的C:\Program Files (x86)\Microsoft SQL Server\JDBC Drver\lib
并在命令提示符下设置了类路径
set classpath=.;C:\Program Files (x86)\Microsoft SQL Server\JDBC Drver\lib\sqljdbc.jar
并通过右键单击主项目并选择其属性选择库,在IDE中设置类路径。然后在编译选项卡中添加了sqljdbc.jar
,但是当我执行此代码时
import java.sql.*;
/**
*
* @author abc
*/
public class DBConnection
{
public Connection dbConnect(String db_connect_string)
{
try
{
Class.forName(
"com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection conn =
DriverManager.getConnection(db_connect_string);
System.out.println("connected");
return conn;
}
catch (Exception e)
{
System.out.println(e);
e.printStackTrace();
return null;
}
}
}
它在此行Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
答案 0 :(得分:6)
您需要检查随SQL Server版本提供的JDBC驱动程序文档。在旧SQL Server 2000中,JDBC驱动程序类名称与您一样:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
但是,自SQL Server 2005起,Microsoft更改了JDBC驱动程序类名称:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
相应修复。
请注意,Netbeans和所有其他不错的Java程序都会{strong}忽略1}}环境变量忽略。忘记它,甚至不要尝试设置它,直到你理解为什么它存在以及它用于什么。
答案 1 :(得分:0)
你可以尝试:
set classpath=.;"C:\Program Files (x86)\Microsoft SQL Server\JDBC Drver\lib\sqljdbc.jar"
如果没有,请尝试使用短名称替换名称中带有空格的文件夹。要获得短名称,请尝试
dir /-n
答案 2 :(得分:0)
如果您使用Maven,可以尝试在pom.xml中添加以下内容:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>