Невозможно подключить jdbc к sql server

 import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.SQLException;

    public class JdbcSQLServerConnection {

        public static void main(String[] args) throws ClassNotFoundException {



            Connection conn = null;
            try {


              String url = "jdbc:sqlserver://microsoft\\SQLEXPRESS;databaseName=crud";
              String userName = "sa";
              String password = "pwd";
              System.out.println("Connected2");
              Class.forName("com.sqlserver.jdbc.SQLServerDriver");
              conn = DriverManager.getConnection(url, userName, password);


                System.out.println("Connected");
                if (conn != null) {
                    DatabaseMetaData dm = (DatabaseMetaData) conn.getMetaData();
                    System.out.println("Driver name: " + dm.getDriverName());
                    System.out.println("Driver version: " + dm.getDriverVersion());
                    System.out.println("Product name: " + dm.getDatabaseProductName());
                    System.out.println("Product version: " + dm.getDatabaseProductVersion());
                }

            } catch (SQLException ex) {
                ex.printStackTrace();
            } finally {
                try {
                    if (conn != null && !conn.isClosed()) {
                        conn.close();
                    }
                } catch (SQLException ex) {
                    ex.printStackTrace();
                }
            }
        }
    }

выход:-

Connected2 Exception in thread "main"
java.lang.ClassNotFoundException: com.sqlserver.jdbc.SQLServerDriver
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at JdbcSQLServerConnection.main(JdbcSQLServerConnection.java:28)
Я включил sqljdbc4.jar в библиотеку eclipse, но все же это не так работаю в моей системе, пожалуйста, помогите мне в этом решении` введите код здесь.

Возможный дубликат Невозможно сослаться на jdbc.SQLServerDriver в Eclipse (ClassNotFoundException)

Emmanuel Rosa 10.08.2018 15:48

Как решить эту проблему, действительно зависит от вашего «типа проекта». Например, если вы используете проект Maven или Gradle, вы можете использовать его для разрешения зависимости с помощью groupId com.microsoft.sqlserver, artifactId sqljdbc4 и версии 4.0.

Emmanuel Rosa 10.08.2018 15:52

Имя драйвера - com.microsoft.sqlserver.jdbc.SQLServerDriver, а не com.sqlserver.jdbc.SQLServerDriver.

Mark Rotteveel 10.08.2018 16:08
0
3
1 776
1

Ответы 1

Очевидно, что класс, который вы пытаетесь загрузить (com.sqlserver.jdbc.SQLServerDriver), не найден.

Согласно Документы Microsoft «Использование драйвера JDBC», вы должны загрузить JDBC-драйвер, вызвав Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); - обратите внимание на microsoft между com и sqlserver.

Если это не поможет, возможно, вы захотите

  1. Скомпилируйте свой код и запустите его в командной строке, вручную добавив JAR-файл драйвера JDBC в путь к классам (-cp), чтобы избавиться от любых ловушек в Eclipse.

  2. Переименуйте sqljdbc4.jar в sqljdbc4.zip, разархивируйте его и проверьте, действительно ли там существует класс, который вы пытаетесь загрузить ...

Я изменил класс в своем проекте, но моя программа показывает ту же ошибку, что и раньше. Я проверил файлы в sqljdbc4, и в нем доступен класс, который я хочу использовать.

Tushar Srivastava 11.08.2018 06:56

Значит, вы исправили имя класса в коде, добавив отсутствующее «microsoft»? Затем я проверял, действительно ли класс находится в пути к классам. Вы говорите, что добавили библиотеку в Eclipse - вы добавили ее либо в путь сборки, либо в путь к классам конфигурации запуска? Простое добавление самого файла не добавляет его в путь к классам ... Если вы попытаетесь запустить свою программу из командной строки, вы увидите, является ли это проблемой с настройкой проекта в Eclipse или проблемой java.

sruetti 12.08.2018 14:33

Другие вопросы по теме