掲示板一覧 - トピック一覧 EA API SQLServerのリポジトリに遅延読み込みで接続すると、Package.FindObject()メソッドが正しく動作しない |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | トピック |
---|---|
mogass | 投稿日時: 2015-6-16 16:12 |
EA Administrator 投稿: 209 |
SQLServerのリポジトリに遅延読み込みで接続すると、Package.FindObject()メソッドが正しく動作しないサポートにご報告頂きました問題と回避方法です。
リポジトリがSQLServerの場合、OpenFile(またはOpenFile2)の 接続文字列に"LazyLoad=x;"というオプションが含まれていますが、 このオプションが"LazyLoad=1;"となっていると、下記の問題が発生します。 ○問題 【Package.FindObject()メソッドが正しく動作しない】 例えば、パッケージ構成が以下のようになっている場合に、 FindObject()メソッドを実行すると、例外が発生しパッケージを取得できません。 [パッケージ構成] ------------------------------------------------------------ プロジェクトルート + パッケージ1 + パッケージ1-1 + パッケージ1-1-1 ------------------------------------------------------------ [コード] ------------------------------------------------------------ Set Pkg = Repo.Models.GetAt(0).FindObject("パッケージ1.パッケージ1-1.パッケージ1-1-1") ------------------------------------------------------------ ○回避方法 この問題は、接続文字列の"LazyLoad=x;"の部分を "LazyLoad=0;"とすることで、回避することができます。 このLazyLoadというオプションは、遅延読み込みの設定オプションです。 遅延読み込みに関しましては、ヘルプの「SQL Serverのリポジトリに接続する」 をご覧ください。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |