подключение к базе данных? - PullRequest
1 голос
/ 07 декабря 2009

Как установить соединение базы данных SQL 2005 с приложением Java. На самом деле я не знаю, как установить путь для JDBC. Любая помощь будет великолепна.

Ответы [ 4 ]

1 голос
/ 07 декабря 2009
  1. Загрузите драйвер jdbc с http://www.microsoft.com/sqlserver/2005/en/us/java-database-connectivity.aspx.
  2. Вы можете скачать версию для Windows или Unix. Неважно, какой вы используете.
  3. Если вы выбрали версию для Windows, запустите загруженный exe-файл; это создаст каталог с именем Драйвер JDBC Microsoft SQL Server 2005 в каталоге, в который вы загрузили файл.
  4. Добавьте файл Microsoft SQL Server 2005 JDBC Driver\sqljdbc_1.2\enu\sqljdbc.jar в ваш путь к классам (либо с помощью параметра -cp java, либо, если вы используете сервер приложений, поместив его в соответствующий каталог).
  5. Установите соединение. В основном, информация, необходимая для этого:
    • имя класса драйвера: com.microsoft.sqlserver.jdbc.SQLServerDriver
    • URL соединения: jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

Проверьте Подключение к SQL Server с драйвером JDBC для получения дополнительной информации и / или ресурсов, доступных в каталоге help (пример кода доступен в help/samples/connections/ConnectURL.java).

1 голос
/ 07 декабря 2009

Это - это HOWTO от Microsoft о том, где взять драйвер и как его настроить.

Вкратце, скачайте .jar от Microsoft, укажите его в своем classpath и используйте:

String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
   "databaseName=AdventureWorks;user=MyUserName;password=*****;";
Connection con = DriverManager.getConnection(connectionUrl);

подставляя соответствующую информацию.

0 голосов
/ 07 декабря 2009

Ваша настоящая проблема заключается в том, что вы не знаете, что делать с феноменом "classpath".

На самом деле, classpath является своего рода коллекцией путей файловой системы диска, которая указывает на весь файл (ы) .jar и / или на некоторую корневую папку с файлами .class, где виртуальная машина Java должна поиск классов для импорта и загрузки.

Вы можете указать путь к классам во время компиляции и выполнения, используя аргументы -classpath или -cp javac.exe и java.exe. -cp - это просто сокращение, оно ничем не отличается. Тогда у вас есть таинственная переменная окружения %CLASSPATH%, которую вы должны просто забыть. Это плохая вещь, которая была призвана упростить начальные пути управления классами, но в конце концов это только запутало их.

Поскольку вы используете Class#forName() для загрузки драйвера, вам нужно иметь его только в classpath во время выполнения, а не во время компиляции. Итак, вот основной пример, как его выполнить:

java -cp .;c:/path/to/mssql-jdbc-driver.jar com.example.YourClass

Видите ли, путь к классам существует из двух частей: ., который представляет текущий рабочий каталог, и c:/path/to/mssql-jdbc-driver.jar, который должен быть абсолютным путем к файлу JAR. ; - это просто разделитель пути (в Windows; в Unix и клонах это должно быть двоеточие :). Примечание: если путь содержит пробелы, например, c:/spacy path to/file.jar, тогда вам нужно обернуть отдельный путь двойными кавычками.

Если вы используете IDE, такую ​​как Eclipse, то обычной практикой является создание в проекте папки, в которую можно поместить все файлы JAR сторонних производителей, которые требуются для проекта. Создайте папку проекта с именем lib, поместите туда драйвер JDBC и щелкните правой кнопкой мыши проект> Свойства > Путь сборки Java > Библиотеки > Добавление JAR-файлов > Выберите файл JAR, который вы уронили в проект lib> OK .

Так и должно быть. Надеюсь, это поможет.

0 голосов
/ 07 декабря 2009

Эта ссылка поможет вам в этом

соединение jdbc mssql

Фрагмент кода

 private java.sql.Connection getConnection(){
          try{
               Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
               con = java.sql.DriverManager.getConnection(getConnectionUrl(),userName,password);
               if(con!=null) System.out.println("Connection Successful!");
          }catch(Exception e){
               e.printStackTrace();
               System.out.println("Error Trace in getConnection() : " + e.getMessage());
         }
          return con;
      }

private String getConnectionUrl(){
          return url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
     }
...