簡體   English   中英

如何使用 JDBC 連接到 SQL Server 2008 數據庫?

[英]How do I connect to a SQL Server 2008 database using JDBC?

我在本地 PC 上安裝了 MSSQL 2008,我的 Java 應用程序需要連接到 MSSQL 數據庫。 我是 MSSQL 的新手,我希望在為我的 Java 應用程序創建用戶登錄和通過 JDBC 獲得連接方面獲得一些幫助。 到目前為止,我嘗試為我的應用程序創建用戶登錄名並使用以下連接字符串,但我根本不工作。 任何幫助和提示將不勝感激。

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

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 添加到構建路徑后。

對於 Window 身份驗證,您可以執行以下操作:

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 的路徑添加為 VM 參數(構建路徑中仍需要 sqljdbc4.jar)。

如果您需要更多詳細信息,請查看此處的簡短分步指南,其中顯示了如何使用 jTDS 和 JDBC 從 Java 連接到 SQL Server。 希望能幫助到你!

你可以使用這個

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

我也在使用 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();

如果您在連接時遇到問題,最有可能的問題是您尚未在端口 1433 上啟用 TCP/IP 偵聽器。快速的“netstat -an”命令將告訴您它是否正在偵聽。 默認情況下,SQL 服務器在安裝后不啟用此功能。

此外,您需要在“sa”帳戶上設置密碼並啟用“sa”帳戶(如果您打算使用該帳戶進行連接)。

顯然,這也意味着您需要在 MSSQL 節點上啟用“混合模式身份驗證”。

嘗試這樣使用:jdbc:jtds:sqlserver://127.0.0.1/dotcms; 實例=實例名稱

不知道你用的是哪個版本的mssql,如果是express版本,默認實例是sqlexpress

不要忘記檢查 SQL Server Browser 服務是否正在運行。

您可以嘗試配置 SQL 服務器:

  1. 第 1 步:打開 SQL Server 20xx 配置管理器
  2. 步驟 2:單擊 SQL 服務器配置中的 Protocols for SQL..。 然后,右鍵單擊 TCP/IP,選擇屬性
  3. 步驟 3:單擊選項卡 IP 地址,編輯所有 TCP。 端口是 1433

注意:所有 TCP 端口都是 1433 最后,重新啟動服務器。

連接到 SQL Server 的簡單 Java 程序。

注意:您需要將 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();
            }

        }
    }

嘗試這個。

導入 java.sql.Connection;

導入 java.sql.DriverManager;

導入 java.sql.ResultSet;

導入 java.sql.Statement;

公共類 SQLUtil {

公共無效dbConnect(字符串db_connect_string,字符串db_userid,字符串db_password){

嘗試 {

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

公共靜態無效主(字符串 [] args){

SQLUtil connServer = new SQLUtil();

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

}

}

嘗試這個

 Class.forName( "net.sourceforge.jtds.jdbc.Driver" );

String url ="Jdbc:jtds:sqlsever://ip/instanceName;instance=instanceName;databseName=dbName;user=yourUser;password=yourpass;";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM