web-dev-qa-db-ja.com

JDBCを使用してSQL Server 2008データベースに接続するにはどうすればよいですか?

ローカルPCにMSSQL 2008がインストールされており、JavaアプリケーションがMSSQLデータベースに接続する必要があります。私はMSSQLの初心者であり、Javaアプリケーションのユーザーログインの作成とJDBCを介した接続の取得に関するヘルプを希望します。これまでのところ、アプリのユーザーログインを作成しようとし、次の接続文字列を使用しましたが、まったく機能しません。ヘルプやヒントをいただければ幸いです。

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

JDBCの使用には、主にWindows認証とSQL認証の2つの方法があります。 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をビルドパスに追加した後。

ウィンドウ認証では、次のようなことができます。

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

そして、VM引数としてsqljdbc_auth.dllへのパスを追加します(ビルドパスにsqljdbc4.jarが必要です)。

詳細が必要な場合は、jTDSとJDBCを使用してJavaからSQL Serverに接続する方法を示す短いステップバイステップガイドをご覧ください here それが役に立てば幸い!

73
Thusi

this を使用できます:

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

また、mssqlサーバー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();
7
kta

接続に問題がある場合は、おそらくポート1433でTCP/IPリスナーをまだ有効にしていないことが問題である可能性があります。「netstat -an」コマンドをすばやく実行すると、リスニング中かどうかがわかります。デフォルトでは、SQLサーバーはインストール後にこれを有効にしません。

また、「sa」アカウントにパスワードを設定し、「sa」アカウントを有効にする必要があります(そのアカウントを使用して接続する予定がある場合)。

これは明らかに、MSSQLノードで「混合モード認証」を有効にする必要があることも意味します。

6
djangofan

次のように使用してみてください:jdbc:jtds:sqlserver://127.0.0.1/dotcms; instance = instanceName

使用しているmssqlのバージョンがわかりません。Expressエディションの場合、デフォルトのインスタンスはsqlexpressです

SQL Server Browserサービスが実行されているかどうかを確認してください。

3
user301201

SQLサーバーの構成を試すことができます:

  1. ステップ1:SQLサーバー20xx構成マネージャーを開く
  2. 手順2:SQLサーバー構成で[SQLのプロトコル]をクリックします。次に、TCP/IPを右クリックして、[プロパティ]を選択します。
  3. ステップ3:[IPアドレス]タブ、[すべてのTCPを編集]をクリックします。ポートは1433です

注: ALL TCPポートは1433最後に、サーバーを再起動します。

3

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

        }
    }
2
atishr

これを試して。

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){

{

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

}

}

0
Kamran