java.sql.SQLException:未找到适合jdbc:microsoft:sqlserver的驱动程序
我尝试运行此程序时遇到此异常。这是微软的一个例子。我已经通过项目属性将sqljdbc4.jar添加到netbeans中的类路径中,用于编译和运行。我还测试了使用下面的import语句可以找到该类——编译期间没有错误,因此它必须找到jar 它可能与sqldbc4.jar引用的dll或某些sql dll有关吗 这是确切的例外,下面是确切的代码,密码除外 例外情况:java.sql.SQLException:未找到适合jdbc:microsoft:sqlserver的驱动程序,java,sql-server,jdbc,driver,sqlexception,Java,Sql Server,Jdbc,Driver,Sqlexception,我尝试运行此程序时遇到此异常。这是微软的一个例子。我已经通过项目属性将sqljdbc4.jar添加到netbeans中的类路径中,用于编译和运行。我还测试了使用下面的import语句可以找到该类——编译期间没有错误,因此它必须找到jar 它可能与sqldbc4.jar引用的dll或某些sql dll有关吗 这是确切的例外,下面是确切的代码,密码除外 例外情况: run: java.sql.SQLException: No suitable driver found for jdbc:micros
run:
java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;databaseName=HealthCareDatabase
Error Trace in getConnection() : No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;databaseName=HealthCareDatabase
Error: No active Connection
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at javaapplication1.Connect.getConnection(Connect.java:35)
at javaapplication1.Connect.displayDbProperties(Connect.java:50)
at javaapplication1.JavaApplication1.main(JavaApplication1.java:23)
BUILD SUCCESSFUL (total time: 1 second)
代码:
}您的URL应该是
jdbc:sqlserver://server:port;DatabaseName=dbname
类名应该类似于
com.microsoft.sqlserver.jdbc.SQLServerDriver
下面是一个从SQL数据库读取的简单代码。 数据库名称为“database1”。 表名为“表1”。 它包含两列“uname”和“pass”。 别忘了将“sqljdbc4.jar”添加到项目中
您可以使用sqljdbc4-2.0.jar进行如下尝试:
public void getConnection() throws ClassNotFoundException, SQLException, IllegalAccessException, InstantiationException {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
String url = "jdbc:sqlserver://<SERVER_IP>:<PORT_NO>;databaseName=" + DATABASE_NAME;
Connection conn = DriverManager.getConnection(url, USERNAME, PASSWORD);
System.out.println("DB Connection started");
Statement sta = conn.createStatement();
String Sql = "select * from TABLE_NAME";
ResultSet rs = sta.executeQuery(Sql);
while (rs.next()) {
System.out.println(rs.getString("COLUMN_NAME"));
}
}
public void getConnection()抛出ClassNotFoundException、SQLException、IllegalAccessException、instanceionexception{
Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”).newInstance();
String url=“jdbc:sqlserver://:;databaseName=“+DATABASE_NAME;
Connection conn=DriverManager.getConnection(url、用户名、密码);
System.out.println(“数据库连接已启动”);
语句sta=conn.createStatement();
String Sql=“从表名称中选择*”;
结果集rs=sta.executeQuery(Sql);
while(rs.next()){
System.out.println(rs.getString(“列名称”);
}
}
我遇到了相同的错误,但是有一个正确的连接字符串。我的问题是驱动程序没有被使用,因此在编译后的war中进行了优化
请确保导入驱动程序:
import com.microsoft.sqlserver.jdbc.SQLServerDriver;
然后,为了迫使它加入到最后的战争中,你可以这样做:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
这句话在原来的问题中。这也将有助于:
SQLServerDriver driver = new SQLServerDriver();
对于希望使用maven解决相同问题的人。在POM中添加以下依赖项:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>7.0.0.jre8</version>
</dependency>
查找其他CRUD类型查询的链接。hi。。你找到解决办法了吗?我也面临同样的问题。请帮我解决上面的问题,检查我下面的简单代码…请下载sqljdbc4.jar并将其放在JmeterAn的lib中,这是造成混淆的原因。确实提到了要使用的正确前缀(jdbc:sqlserver://)。许多网站的URL错误。他们有“jdbc:microsoft:sqlserver://server:port;DatabaseName=dbname'而不是“jdbc:sqlserver://server:port;DatabaseName=dbname“你应该把驱动程序放在哪里?驱动程序的死链接。@Aniket-请粘贴你得到的完整异常我正在netbeans 7.0.1中处理web应用程序。异常如下:严重:此驱动程序不支持Java Runtime Environment(JRE)1.7版。使用sqljdbc4.jar类库,它提供对JDBC4.0的支持。严重:java.lang.UnsupportedOperationException:此驱动程序不支持java运行时环境(JRE)1.7版。使用sqljdbc4.jar类库,该类库提供对JDBC4.0的支持。@Aniket-是否将sqljdbc4.jar添加到项目中?如果您已经添加了sqljdbc4.jar,那么请确保sqljdbc.jar没有添加到projectThis works for me。谢谢但是我替换了Class.forName(driver.newInstance();使用DriverManager.registerDriver(新的com.microsoft.sqlserver.jdbc.SQLServerDriver());并在Mavin中的我的pom中添加了依赖项'com.microsoft.sqlserver',使其能够正常工作。。。对于使用Java8的应用程序,这是合适的驱动程序。不是8.2.2.jre11,它给了我很多连接问题。
SQLServerDriver driver = new SQLServerDriver();
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>7.0.0.jre8</version>
</dependency>
String connectionUrl = "jdbc:sqlserver://localhost:1433;databaseName=master;user=sa;password=your_password";
try {
System.out.print("Connecting to SQL Server ... ");
try (Connection connection = DriverManager.getConnection(connectionUrl)) {
System.out.println("Done.");
}
} catch (Exception e) {
System.out.println();
e.printStackTrace();
}