Как подключиться к базе данных SQL Server 2008 с помощью JDBC? - PullRequest
52 голосов
/ 16 марта 2010

У меня на локальном ПК установлен MSSQL 2008, и моему приложению Java необходимо подключиться к базе данных MSSQL. Я новичок в MSSQL и хотел бы получить некоторую помощь по созданию логина пользователя для моего Java-приложения и получению соединения через JDBC. До сих пор я пытался создать логин пользователя для своего приложения и использовал следующую строку подключения, но я не работал вообще. Будем благодарны за любую помощь и подсказку.

jdbc:jtds:sqlserver://127.0.0.1:1433/dotcms 
username="shuxer"  password="itarator"

Ответы [ 8 ]

72 голосов
/ 24 января 2013

Существует в основном два способа использования JDBC - использование аутентификации Windows и аутентификации SQL. SQL-аутентификация, вероятно, самая простая. Что вы можете сделать, это что-то вроде:

String userName = "username";
String password = "password";

String url = "jdbc:sqlserver://MYPC\\SQLEXPRESS;databaseName=MYDB";

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url, userName, password);

после добавления sqljdbc4.jar в путь сборки.

Для проверки подлинности Windows вы можете сделать что-то вроде:

String url = "jdbc:sqlserver://MYPC\\SQLEXPRESS;databaseName=MYDB;integratedSecurity=true";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url);

, а затем добавьте путь к sqljdbc_auth.dll в качестве аргумента виртуальной машины (все еще требуется sqljdbc4.jar в пути сборки).

Пожалуйста, посмотрите здесь , чтобы получить краткое пошаговое руководство, показывающее, как подключиться к SQL Server из Java с использованием jTDS и JDBC, если вам потребуется дополнительная информация. Надеюсь, это поможет!

32 голосов
/ 10 декабря 2012

Вы можете использовать это :

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class ConnectMSSQLServer
{
   public void dbConnect(String db_connect_string,
            String db_userid,
            String db_password)
   {
      try {
         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
         Connection conn = DriverManager.getConnection(db_connect_string,
                  db_userid, db_password);
         System.out.println("connected");
         Statement statement = conn.createStatement();
         String queryString = "select * from sysobjects where type='u'";
         ResultSet rs = statement.executeQuery(queryString);
         while (rs.next()) {
            System.out.println(rs.getString(1));
         }
      } catch (Exception e) {
         e.printStackTrace();
      }
   }

   public static void main(String[] args)
   {
      ConnectMSSQLServer connServer = new ConnectMSSQLServer();
      connServer.dbConnect("jdbc:sqlserver://<hostname>", "<user>",
               "<password>");
   }
}
7 голосов
/ 27 мая 2012

Я также использую mssql server 2008 и jtds. В моем случае я использую следующую строку подключения, и она работает.

Class.forName( "net.sourceforge.jtds.jdbc.Driver" );
Connection con = DriverManager.getConnection( "jdbc:jtds:sqlserver://<your server ip     
address>:1433/zacmpf", userName, password );
Statement stmt = con.createStatement();
6 голосов
/ 02 августа 2011

Если у вас возникли проблемы с подключением, скорее всего, проблема в том, что вы еще не включили прослушиватель TCP / IP на порту 1433. Быстрая команда «netstat -an» сообщит вам, прослушивает ли она. По умолчанию SQL-сервер не включает это после установки.

Кроме того, вам необходимо установить пароль для учетной записи «sa», а также ВКЛЮЧИТЬ учетную запись «sa» (если вы планируете использовать эту учетную запись для подключения).

Очевидно, это также означает, что вам нужно включить «аутентификацию в смешанном режиме» на вашем узле MSSQL.

3 голосов
/ 27 февраля 2017

Вы можете попробовать настроить SQL-сервер:

  1. Шаг 1: Откройте SQL Server 20xx Configuration Manager
  2. Шаг 2: Нажмите Протоколы для SQL .. в конфигурации сервера SQL. Затем щелкните правой кнопкой мыши TCP / IP, выберите Свойства
  3. Шаг 3: Нажмите вкладку IP Address, Edit All TCP. Порт 1433

ПРИМЕЧАНИЕ: ВСЕ TCP-порт равен 1433 Наконец, перезапустите сервер.

3 голосов
/ 25 марта 2010

Попробуйте использовать так: jdbc: jtds: sqlserver: //127.0.0.1/dotcms; Экземпляр = имя_экземпляр

Я не знаю, какую версию mssql вы используете, если это экспресс-версия, экземпляр по умолчанию - sqlexpress

Не забудьте проверить, запущена ли служба браузера SQL Server.

2 голосов
/ 18 июня 2018

Простая Java-программа, которая подключается к SQL Server.

ПРИМЕЧАНИЕ. Вам необходимо добавить sqljdbc.jar в путь сборки

// localhost: локальный компьютер действует как сервер

// 1433: номер порта SQL по умолчанию

// имя пользователя: sa

// пароль: использовать пароль, который используется во время установки SQL Server Management Studio, в моем случае это «root»

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

    public class Conn {
        public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {

            Connection conn=null;
            try {
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
                conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=company", "sa", "root");

                if(conn!=null)
                    System.out.println("Database Successfully connected");

            } catch (SQLException e) {
                e.printStackTrace();
            }

        }
    }
0 голосов
/ 02 июля 2019

Попробуйте это.

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

открытый класс SQLUtil {

public void dbConnect (String db_connect_string, String db_userid, String db_password) {

try {

     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
     Connection conn = DriverManager.getConnection(db_connect_string,
              db_userid, db_password);
     System.out.println("connected");
     Statement statement = conn.createStatement();
     String queryString = "select * from cpl";
     ResultSet rs = statement.executeQuery(queryString);
     while (rs.next()) {
        System.out.println(rs.getString(1));
     }
  } catch (Exception e) {
     e.printStackTrace();
  }    }

public static void main (String [] args) {

SQLUtil connServer = new SQLUtil ();

connServer.dbConnect ("jdbc: sqlserver: //192.168.10.97:1433; databaseName=myDB "," sa "," 0123 ");

}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...