Open Database Connectivity (ODBC) は、データベース アクセスのために広く受け入れられているアプリケーション プログラミング インターフェイス (API) です。 Azure Data Explorer は、SQL Server 通信プロトコルのサブセット (MS-TDS) と互換性があります。 この互換性により、SQL Server 用 ODBC ドライバーを Azure Data Explorer で使用できるようになります。
そのため、SQL Server 用 ODBC ドライバーのサポートを備えた任意のアプリケーションから Azure Data Explorer への接続を確立できます。
ODBC 接続を作成する方法については、次のビデオをご覧ください。
または、手順に従って、ODBC を使用してクラスターに接続。
Note
可能な場合は専用コネクタを使用します。 使用可能なコネクタの一覧については、 Connectors の概要を参照してください。
前提条件
- オペレーティング システム用の Microsoft ODBC Driver for SQL Server バージョン 17.2.0.1 以降。
ODBC を使用してクラスターに接続する
クラスターには、次の方法で接続できます。
ODBC 接続をサポートするアプリケーションから、次の形式の接続文字列を使用してクラスターに接続できます。
"Driver={ODBC Driver 17 for SQL Server};Server=mykustocluster.kusto.windows.net;Database=mykustodatabase;Authentication=ActiveDirectoryIntegrated"
Note
Azure Data Explorer は文字列値を NVARCHAR(MAX)として扱います。これにより、一部の ODBC アプリケーションで問題が発生する可能性があります。 接続文字列の Language パラメーターを使用して、文字列をNVARCHAR(\<n\>)にキャストします。 たとえば、 Language=any@MaxStringSize:5000 は文字列を NVARCHAR(5000)としてエンコードします。 詳細については、 チューニング オプションを参照してください。
アプリケーション認証
ODBC でアプリケーション プリンシパル認証を使用するには、Microsoft Entra テナント ID を指定する必要があります。 この構成は、接続文字列、Windows レジストリ、またはodbc.ini ファイルで設定できます。 次のタブの例を参照してください。 詳細については、 チューニング オプションを参照してください。
接続文字列でLanguage=any@AadAuthority:<aad_tenant_id>を使用してアプリケーション プリンシパルを設定します。
<aad_tenant_id>、<aad_application_id>、<aad_application_secret>をそれぞれ Microsoft Entra テナント ID、Microsoft Entra アプリケーション ID、および Microsoft Entra アプリケーション シークレットに置き換えます。
"Driver={ODBC Driver 17 for SQL Server};Server=<adx_cluster_name>.<region_name>.kusto.windows.net;Database=<adx_database_name>;Authentication=ActiveDirectoryServicePrincipal;Language=any@AadAuthority:<aad_tenant_id>;UID=<aad_application_id>;PWD=<aad_application_secret>"