Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.sql.SQLException:未找到适合jdbc:microsoft:sqlserver的驱动程序_Java_Sql Server_Jdbc_Driver_Sqlexception - Fatal编程技术网

java.sql.SQLException:未找到适合jdbc:microsoft:sqlserver的驱动程序

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

我尝试运行此程序时遇到此异常。这是微软的一个例子。我已经通过项目属性将sqljdbc4.jar添加到netbeans中的类路径中,用于编译和运行。我还测试了使用下面的import语句可以找到该类——编译期间没有错误,因此它必须找到jar

它可能与sqldbc4.jar引用的dll或某些sql dll有关吗

这是确切的例外,下面是确切的代码,密码除外

例外情况:

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();
}