「StiLL」 デザイン情報293 開発 -- 接続するデータベースをログインで切り替える方法
                             
  【テーマ】
接続するデータベースを、設定はそのままに、ログインで切り替える方法のご紹介です
    【方法】
セルリンクボタンの「BtDBLogin」のオプション項目を使います
  【参考】
その他オプション項目の内容については、StiLLヘルプおよび他の記事をご参考にしてください
 
           
                             
■ 今回の内容   
本番環境とテスト環境、年度別に分かれるデータベースなど、
StiLLで複数のデータベースへODBC接続するときに、それぞれのプログラムや環境を作成していませんか?
今回は共通のプログラムはそのままに、参照先のデータベースを変更する方法をご紹介します。
【イメージ】
文字が書かれている

低い精度で自動的に生成された説明,文字が書かれている

低い精度で自動的に生成された説明,文字が書かれている

低い精度で自動的に生成された説明
■ 考え方・条件
データソース名は予めツールまたは手動で、何れかのデータベースを登録しておきます。(末尾参考を参照ください)
「BtDBLogin(セルリンクタイプ)」ボタンは、ODBCを経由し、データベースへログインするボタンですが、
「オプション」項目を使うことで、接続先を動的に変更することが可能になります。
■ 作成手順
手順1:「StiLL」>「セルリンクボタン」>「BtDBLogin」を選択し、ボタンを貼り付けます。
手順2:オプション項目の指定
「オプション」項目に、接続するデータベース(サーバー・方法含む)を記述します。
記述内容は、データベースにより異なります。(手順3参照)
!ポイント
通常は、ODBCデータソースで接続先を指定しますが、
「BtDBLogin」ボタンでデータベースログイン時に接続先を変更することが可能になります。
手順3:オプション項目の記述方法
 今回は、SQLServerおよびMicrosoft Accessの例を紹介します。
SQLserverの例
サーバー名:server01
データベース名:StiLLDB
認証方法:Windows認証を使う
オプション項目記述例
SERVER= server01; DATABASE= StiLLDB ;Trusted_Connection=Yes
Microsoft Accessの例
データベースファイル名:StiLLDB2025.accdb
データベースファイルの場所:D:\XXXXシステム\DATA
オプション項目記述例
DBQ=D:\XXXXシステム\DATA\StiLLDB2025.accdb
■ 応用(ユーザーが切替えできる仕組み作り)
手順3で設定した項目を直接変更するだけでは、使う方にとっては分かりづらいです。
年度や条件を他の方法で変更した時、この記述も自動的に変更されるような仕組みがあると便利です。
SQLserverの例:データベースを選択して切り替える仕組み
本番環境とテスト環境およびそれぞれのデータベース名のリストを作り、プルダウンで選択する仕組みを作ります
@ 選択する名称とデータベースのリストを作成
A コンボボックス(StiLL>ボタンテンプレート>開発用>コンボボックス)を作成
B Aの「コントロールの書式設定」でリンクさせるセルを指定
C @のリストからBで選択された行に基づくデータベース名を表示(INDEX関数)
オプション項目を、数式で作成し、一部にCのセルをリンクさせます
オプション項目の数式記述例
="SERVER= server01; DATABASE= "&G4&" ;Trusted_Connection=Yes"
実施例
SERVER= server01; DATABASE= StiLLDB_TEST ;Trusted_Connection=Yes
Accessの例:
前例のように明示的に切替えなくても、ユーザーが条件指定した内容をもとに自動的に切り替わるような
仕組み作りも可能です。
文字が書かれている

低い精度で自動的に生成された説明,文字が書かれている

低い精度で自動的に生成された説明,文字が書かれている

低い精度で自動的に生成された説明
オプション項目の数式記述例
="DBQ=D:\XXXXシステム\DATA\StiLLDB"&[年度の表示セル]&".accdb"
DBQ=D:\XXXXシステム\DATA\StiLLDB2025.accdb
■ ご参考までに
その他オプション項目の内容については、StiLLヘルプをご参考にしてください。
STSETODBC(StiLLオプションプログラム)については、下記のバックナンバーをご参考にしてください。
https://www.still.co.jp/still/support/233sms.htm
StiLLでは、Microsoft社のデータベース(SQLserver・Access)およびOracleをサポート対象としています。
上記以外のデータベースの設定等につきましては、各社サポートサイト等をご参照願います。
(各ボタンの設定内容の詳細はStiLLヘルプをご確認ください)  
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます