パーシモンシステム
LLL/Ajax

FAQ

   LLL/.net (トリプルエル/ドットネット) に関するFAQです。

技術的な質問

データベースに関係する事について
戻る


Q-0125. プログラム内で動的にデータベース接続先を変更することはできますか?

「LLL/.net データベース設計」で設定したデータベース接続文字列は、[開発ディレクトリ]\Runtime.DEF に暗号化されて格納されています。

プログラム実行時に
LForm.MainDb

または
LForm.GetWinDb([データベース接続名("DbMain"等)])

で取得できるLWinDbオブジェクトの、ConnectionStringプロパティで参照 及び編集が可能です。
データベース接続先を変更する場合、当該プロパティで設定するべき文字 列は接続先データベースの種類によって異なります。
LLL/.netでは、内部的にADO.NETの各Connectionオブジェクトを利用 しているため、設定する値は、それぞれのConnectionオブジェクトに 設定する接続文字列そのままになります。

<データベース種類による設定内容>

JET:
内部的にSystem.Data.OleDb.OleDbConnection(プロバイダとして Microsoft Jet 4.0 OLE DB Providerを使用)を用いて接続するため、 設定する接続文字列もそれに対応する内容となります。

(LLL/.netによる設定内容)
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=[MDBファイルのパス];User ID=[ユーザ名]; Password=[パスワード];

SQLServer:
内部的にSystem.Data.SqlClient.SqlConnectionを用いて接続するため、 設定する接続文字列もそれに対応する内容となります。
データベース設計時に「統合セキュリティを使用する」を「True」 「False」のどちらを選択したかにより、最終的に設定される接続 文字列は変化します。

(LLL/.netによる設定内容:「統合セキュリティを使用する」=False時)
Initial Catalog=[データベース名]; Data Source=[サーバー名];User ID=[ユーザ名]; Password=[パスワード];

(LLL/.netによる設定内容:「統合セキュリティを使用する」=True時)
Initial Catalog=[データベース名]; Data Source=[サーバー名];Trusted_Connection=yes;

Oracle:
データベース設計時に「DB接続Provider」を「Oracle」「OLE DB」の どちらを選択したかにより、内部的な接続が変わります。

「Oracle」選択時は内部的にSystem.Data.OracleClient.OracleConnection を用いて接続するため、設定する接続文字列もそれに対応する内容となります。

(LLL/.netによる設定内容)
Data Source=[ネットサービス名]; User ID=[ユーザ名]; Password=[パスワード];

「OLE DB」選択時は内部的にSystem.Data.OleDb.OleDbConnection(プロバイダ としてMicrosoft OLE DB Provider for Oracleを使用)を用いて接続するため、 設定する接続文字列もそれに対応する内容となります。

(LLL/.netによる設定内容)
Provider=MSDAORA; Data Source=[ネットサービス名]; User ID=[ユーザ名];Password=[パスワード];


なお、接続文字列変更前にデータベースアクセスが行なわれる場合、 それはRuntime.DEFに記録された接続文字列が利用されてしまいます。

そのため接続文字列の変更を行なう場合、現行バージョンにおいては、 ComboBox,ListBoxに対して「リストデータ設定」の設定を施すことが 出来なくなります(LLL/.netの初期設定の段階でデータベースアクセスが 発生してしまうため)。ご注意ください。



戻る





著作権について パーシモンシステムトップへ