本記事では CData サポート担当からこんなことを聞かれたらどこを確認すべきか?という観点で、よく頂くお問合せ内容をご紹介します。
記事はこちら →SQL インターフェースを介してDynamics 365 Business Central を公開する標準.NET を記述します。Active Query Builder は、開発者がSQL インターフェースを作成するのに役立ちます。CData ODBC Driver for D365BusinessCentral は、Dynamics 365 Business Central への標準ベースのアクセスを可能にします。この統合では、ODBC ドライバーとActive Query Builder オブジェクト間のブリッジとして、Microsoft ADO.NET Provider for ODBC を使用してビジュアルSQL コンポーザーを構築します。
未指定の場合は、初めにODBC DSN (data source name) で接続プロパティを指定します。ドライバーのインストールの最後にアドミニストレーターが開きます。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および構成できます。
Dynamics 365 Business Central への認証には、User およびAccessKey プロパティが必要です。
データに接続するには、OrganizationUrl を指定します。OrganizationUrl は、 http://businesscentral.dynamics.com/abc123/ などのBusiness Central アカウントへのエンドポインであるか、Web サービスのルートを参照する必要があります。OrganizationUrl を指定する方法 および利用可能なエンドポイントについての詳細は、Business Central エンドポイント を参照してください。 組織内に複数の会社がある場合は、どの会社に接続するかを特定するためにCompany を指定する必要があります。 会社が1つだけの場合は、Company を指定する必要はありません。
Dynamics 365 Business Central に認証するには、User およびAccessKey 接続プロパティを指定します。Microsoft では、これらをテストおよび開発目的で推奨します。ただし、運用環境での使用は推奨していません。 User およびAccessKey の値を取得するには、Dynamics 365 Business Central の「ユーザー」ページに移動して「編集」をクリックします。User Name および Web Service Access Key の値は、User およびPassword 接続文字列プロパティとして入力する値です。User Name はE メールアドレス ではありません。短縮されたユーザー名です。
Microsoft では、OAuth 認証を使用する本番ユースケースを推奨します。詳細については、ヘルプドキュメントの「OAuth 認証の使用」を参照してください。
以下のステップに従ってWinForms ビジュアルクエリビルダーを作成します。
OdbcConnection connection = new OdbcConnection();
connection.ConnectionString = "DSN=D365BusinessCentral"
GenericSyntaxProvider syntaxProvider = new GenericSyntaxProvider();
ODBCMetadataProvider metadataProvider = new ODBCMetadataProvider();
metadataProvider.Connection = connection;
queryBuilder1.MetadataProvider = metadataProvider;
queryBuilder1.SyntaxProvider = syntaxProvider;
queryBuilder1.InitializeDatabaseSchemaTree();
QueryBuilder を作成したら、それをTextBox に接続するか、使用する場合は、ActiveQueryBuilder SQLTextEditor に接続しますSQLTextEditor をデザイナにドラッグし、ドロップします。
private void sqlTextEditor1_Validating(object sender, CancelEventArgs e) {
try {
// Update the query builder with manually edited query text:
queryBuilder1.SQL = sqlTextEditor1.Text;
}
catch (SQLParsingException ex) {
e.Cancel = true;
// Set caret to error position
sqlTextEditor1.SelectionStart = ex.ErrorPos.pos;
// Report error
MessageBox.Show(ex.Message, "Parsing error");
}
}
private void queryBuilder1_SQLUpdated(object sender, EventArgs e) {
sqlTextEditor1.Text = queryBuilder1.FormattedSQL;
}
これで、クエリをビジュアルに作成できます。[Columns Pane Area]のテーブルをダブルクリックすると、[entity/relationship]ダイアグラムが[Query Building Area]に表示されます。ダイアグラムで選択したカラムがクエリに追加されます。