データセット: データベースへの接続 - Microsoft SQL Server編

質問

データセットを設定する時、Microsoft SQL Serverのデータベースとの接続場合、必要なステップを教えてください。

回答

FlexiCapture の データベース ≒「データセット」の作成と Microsoft SQL Server の データベース への接続設定については、以下の手順をご参照下さい。

*Microsoft SQL Server の設定の詳細につきましては、Microsoft社様にお問い合わせ下さい。

1. データセット の作成

文書定義プロパティ の「データセット」タブで文書定義に「データセット」を追加します。
mceclip0.png

設定した名前で「データセット」がリストに追加されます。

​2. データベース接続

「ソース」 を データベース に指定し、[指定]ボタンをクリックし、接続文字列を作成します。
​​

Microsoft OLE DB Provider for SQL Server を利用する場合

Microsoft SQLサーバーの場合、「Microsoft OLE DB Provider for SQL Server」を選択します。

「接続」タブで接続パラメーターを指定します。(準備)

SQL Server 認証*

*あらかじめ、アクセス用の データベースと テーブル 、ユーザーが作成されており、ユーザーには適切な権限を与えておく必要があります。

*SQL Server認証を行うには、「SQL Server 認証モードと Windows 認証モード」を設定しておく必要があります。例は、Microsoft SQL Server 2014 の Microsoft SQL Server Tools 18 の Microsoft SQL Management Studio  の画面。

*SQL Server の設定を変更されましたら、念のため、SQL Server を再起動をされてください。

*mceclip0.png

「接続」タブで 接続パラメーター を指定します。

最低限*、 下記の情報だけで、「サーバー」への [接続のテスト] ができます。

*まずは、サーバーへの接続のみを確認する場合、「データベース」の欄はとりあえず空にできます。

mceclip0.png

Windows 認証*

*Windows認証 を使用する場合、設定中 の FlexiCapture を使用している 「ユーザー 」が「サーバー」、「データベース」、「テーブル」それぞれに Windows 認証 のユーザーの アクセス権 が適切に設定されている必要があります。

最低限*下記の情報だけで、「データベース」への [接続のテスト] ができます。

*まずは、サーバーへの接続のみを確認する場合、データベースの欄はとりあえず空にできます。

mceclip1.png

*そもそも サーバーへの接続が コマンドラインや、Microsoft SQL Management Studio などで直接可能かどうか必ず確認して下さい。

SQL Server 認証

*例は、Microsoft SQL Server 2014 の Microsoft SQL Server Tools 18 の Microsoft SQL Management Studio  のサーバーへの接続画面

mceclip2.png

Windows 認証

mceclip3.png

最低限、上だけの情報で SQL Server への 接続テストができます。

mceclip5.png

接続できない場合は、設定をご確認ください*。

mceclip11.png

DB: データベース の選択

「サーバー」 に アクセス ができる事を [接続のテスト] で確認できましたら、「データベース」に適切な権限がある場合、下図のように「サーバー」の「データベース」が選択できるはずです*。

* 表示はご利用の「データベース」により異なります。

mceclip7.png

「データベース」が表示されない場合は、「データベース」にも「ユーザー」に適切な権限を与えられているか再度確認してください*。

接続テスト例

接続テストが成功か確認します。

*下記は FlexiCapture 英語版 で下記の情報でアクセスした例: 

  • ユーザー名: sa  (管理者)
  • マシン名: VAKHTEL-NB
  • サーバー名: SQLEXPRESS 
  • DB: データベース名: FCDB

*データベース の各設定はあらかじめ、用意されている必要があります。

接続成功が成功すると「接続文字列」が自動生成される

[OK] をクリックすると、下図のように「接続文字列」が自動的に作成されます。

接続失敗

「サーバー」への接続が成功しているのに失敗する、ということは、「データベース」に適切な権限が設定されていないということです。確認を行ってください*。また、念のため、マシンとSQL Server を再起動してください。

mceclip9.png

テーブル の選択

データベース のテーブル を選択します。

「接続文字列」が 正常に生成された場合、「ユーザー」に許可された「データベースのテーブル」が プルダウンメニュー から選択できるようになるはずです。

*サーバーへの接続ができているのに、「テーブル」 が プルダウンメニュー に表示されなかったり、接続が失敗する場合は、「テーブル」の設定が適切でない、ということです。設定をご確認ください*。

mceclip0.png

「テーブル」を選択すると、テーブル の列をそのまま使って「 データセット」を作成するかどうかを聞かれます。

データベース の テーブル列をそのまま使うかどうか

mceclip1.png

データベース の テーブル列 をそのまま使う場合

[はい]を選択すると、データベース のテーブル列を参考に、なるべくそのままになるよう、下図のように データセット列 の構成が自動的に作成されます。

mceclip4.png

「キャッシュデータ」など、必要な設定を行って、[OK] ボタンをクリックします。

これで、FlexiCapture の データセット と Microsoft SQL Server データベース の「テーブル」の 接続は完了です。

Microsoft OLE DB Provider for ODBC Drivers を利用する場合

ODBC データ ソース アドミニストレータ― を開きます。ビット数を合わせます。

DSNのタブ ( 「ユーザーDSN」タブ: 現在ログインしているユーザー用、「システムDSN」タブ: マシンにログインする全てのユーザー用) から[追加]ボタンをクリックします。

mceclip1.png

「SQL Server」を選択し、[完了]ボタンをクリックします。

mceclip2.png

任意の「データソース」の名前を付け、接続する SQL Server 「サーバー」名を入力して、[次へ] 進みます。

mceclip6.png

ログインの方法を選びます。

ネットワークへのログインID で、Windows NT 認証メカニズムを使う

あらかじめ、ログインしている ユーザー に サーバー、データベース、テーブルへの適切な権限が与えられている必要があります。

ユーザーが入力する SQL Server 用のログイン ID とパスワードを使う

あらかじめ、SQL Server にログインできるユーザーとそのパスワードと サーバー、データベース、テーブルへの適切な権限が与えられている必要があります。

ユーザー名とパスワードを入力します。

[次へ] 進みます。

mceclip7.png

接続が成功すると、「データベース」が選択・設定できるようになっているはずです*。「データベース」を設定して[次へ] 進みます。

*「データベース」が選択・設定できない場合は、設定を再度確認してください。

mceclip8.png

必要であれば、地域用の設定を行い、[完了]します。

mceclip9.png

次のような画面が表示されますので、[データソース のテスト] をクリックします。

mceclip10.png

設定が問題なければ、次のような画面が表示されます。

mceclip11.png

[OK] ボタンをクリックします。

mceclip12.png

「DNS」タブに設定が追加されます。

mceclip13.png

FlexiCapture の「ソース」を「データベース」にして、[指定]ボタンをクリックします。

mceclip15.png

「Microsoft OLE DB Provider for ODBC Drivers」を選択し[次へ]進みます。

mceclip17.png

設定が無事終わっていれば*、DSNで設定した「データソース」の名前がプルダウンメニュー から選択できますので、選択します。

mceclip18.png

「ユーザー名」と「パスワード」を入力して、[接続のテスト]を行います。

mceclip19.png

設定が問題なければ、次の画面が表示されます。

mceclip20.png

さらに設定が問題なければ、「データベース」がプルダウンメニュー から選択できるはずです*。

*上手くいかない場合は、設定を確認されてください。

mceclip21.png

使用する「データベース」を選択し、[接続のテスト]ボタンをクリックします。

mceclip22.png

設定に問題なければ*、次のような画面が表示されます。

mceclip23.png

ここからは、Microsoft OLE DB Provider for SQL Server を利用した場合と同じですので、上の説明をご覧ください。

データベース の テーブルから必要な列のみ取得する場合

「データベース」 の「テーブル」の必要な列のみを格納する「データセット」の列、構成を作成します。

セットアップ

「データセット」に 必要な「フィールド」を追加します。
1つの「フィールド」を 「プライマリキー」にします。「データセット」では、「データベース」の「テーブル」 のように プライマリキー が必須  となります。

下図の画面まで、一旦画面を戻り、[セットアップ] ボタン を クリックします。

mceclip1.png

下図のような画面で[追加]ボタンをクリックします。

mceclip2.png

プライマリキー

「データセット」では、「データベース」の「テーブル」と同じように「プライマリキー(主キー)」が必須 となります。「プライマリキー」となる「フィールド」を設定します。

mceclip3.png

「データベース の テーブル」から 必要な列のみの フィールド を作成した画面例: 

​​

データベース の テーブル列 と データセット の テーブル列 の マッピング

 作成された「データセット」の 列の「フィールド」と データベース 列の「フィールド」を マッピングします。

結果:「データベース」の「テーブル」から 必要な列を割り当てた「データセット」の器が作成されました。

[OK] をクリックし、「データセット」の更新 (「データベース」の「テーブル」の データ の「データセット」への コピー) を行います。

「データセット」に「データベース」からのレコードが追加されます。

データセットの利用

「表示」ボタンを用いて、データセットの内容を確認できます。

12.必要になれば、データセットの自動更新、データベースチェックルール、
データベースルックアップ等を設定します。
詳細については、以下のURLを参照して下さい。

追加情報

他にご質問がございましたら、リクエストを送信してください

コメント

0件のコメント

サインインしてコメントを残してください。