Java 未找到适合jdbc:sqlserver:

Java 未找到适合jdbc:sqlserver:,java,jdbc,Java,Jdbc,我知道这已经被问了一百次了,我想我已经阅读了所有的帖子,并尝试了各种各样的解决方案。我正在使用NetBeans和它的新功能。我肯定我只是错过了一些小步骤,因为它似乎只是没有看到我添加到库中的驱动程序。这是我第一次尝试连接到数据库,所以请温柔一点 try { String host = "jdbc:sqlserver://Server:1433;Database"; String uName = "User"; Stri

我知道这已经被问了一百次了,我想我已经阅读了所有的帖子,并尝试了各种各样的解决方案。我正在使用NetBeans和它的新功能。我肯定我只是错过了一些小步骤,因为它似乎只是没有看到我添加到库中的驱动程序。这是我第一次尝试连接到数据库,所以请温柔一点

try
       {        
        String host = "jdbc:sqlserver://Server:1433;Database";
        String uName = "User";
        String uPass = "Password";
        Connection con = DriverManager.getConnection(host,uName,uPass);
        System.out.println("Your are connected to SQLServer 2014");
        }
        catch (SQLException err)
        {
            System.out.println(err.getMessage());
        }

您忘记注册jdbc驱动程序类

召唤

在调用Connection con=DriverManager.getConnectionhost、uName、uPass;之前

它将解决这个问题

更新

在新jdbc驱动程序的文档中,声明此步骤不是必需的。但在实际工作中,我发现即使是新的驱动程序也需要这个步骤,否则您将无法找到合适的驱动程序发现错误。此错误有时会发生,例如,在创建和运行console jar应用程序时不会发生,但在创建和部署web应用程序时会发生


因此,我建议在通过DriverManager.getConnection调用获取数据库连接之前注册jdbc驱动程序类。

驱动程序未进入路径。。。可能。检查此页面:在项目的“库”下,尝试删除C:\Program Files\。。。文件夹,然后为要使用的实际jar文件添加一个条目,例如sqljdbc42.jar。@TECC-看到了吗?另外,请记住在回复时@ping用户,就像我在本文开头所做的那样。@TECC-尝试类似jdbc的方法:sqlserver://localhost:49242;databaseName=MyDb据我所知,这已不再是必要的,并且已被弃用。是的,根据文档,这是不必要的。但在实践中,这一步是必需的:好的,那么我将尝试一下。谢谢你的指导。好的。请把你的检查结果贴在这里。我相信它会解决这个问题;也有一些例外情况,例如在web应用程序中,类加载器的不同层次结构可能需要显式加载驱动程序,但在“普通”Java应用程序中,这实际上是不必要的。
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");