ODBCでAzureAD認証のAzure SQL Databaseに接続する

WindowsのODBCでAD認証のAzure SQL Databaseに接続します。

* テスト環境
    * Windows 11 64bit
    * Microsoft ODBC Driver 17.1 for SQL Server

# Azure Portalからの接続
Azure Portalにログインし、接続したいSQL Databaseを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/187d8a57-e5b1-a618-cf76-8321f07c1300.png)

クエリーエディターで接続を試みます。
ファイアウォールなどの設定がある場合は接続に失敗することがあります。その場合「サーバーｘｘｘの許可リストIP xxx.xxx.xxx.xxx」をクリックすると許可リストに加えることが可能です（設定によります
）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/e22bf5aa-00f7-0fe8-5051-d01988872145.png)


許可リストへの接続ができると以下のメッセージがでて接続可能になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/39bb7896-e2c2-181b-8fa0-f6842e3fbbea.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/de96e129-e117-e66b-5206-f49e33ae4e44.png)



# ODBCドライバーのダウンロード
以下からODBCドライバーをダウンロードします。ここではMicrosoft ODBC Driver 17.1 for SQL Serverを導入します（2022-09の最新は18.1.1.1です）。

ODBC Driver for SQL Server のダウンロード - ODBC Driver for SQL Server | Microsoft Docs 

https://docs.microsoft.com/ja-jp/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/cf1b0cf6-a7ab-84f8-1f7b-674ddb084bec.png)

# ODBCドライバーの導入
msodbcsql.msiを起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/9142dc69-cb10-9c39-5687-70848fb7d361.png)

「次へ」で進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/76e5fd42-adb4-ca80-76e4-6827f6f61fa9.png)

ライセンス条項に同意して「次へ」で進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/38d0bb36-643b-a86a-d1e0-9e05760f3ddb.png)

「次へ」で進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/ae46a061-6ac1-0d01-54cf-4444063ca2c7.png)

「次へ」で進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/2f78169e-e5ca-4352-4952-eab8de49faa6.png)

「インストール」で進みます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/160683ff-b7bb-4432-538e-7b06a210156d.png)

「完了」します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/901817a4-cf22-5412-b30d-69d38fa57801.png)

# ODBCの設定
ODBCデータソースアドミニストレーター(64bit)を起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/9fd133d2-fecd-52f7-e490-ebba03cd56d8.png)

ユーザーDSNかシステムDSNで「追加」をします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/928b3d9c-ce9b-cb97-7f4f-dc94ab734e76.png)

「ODBC Driver 17 for SQL Server」を選びます。（「SQL Server」ではありません）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/70d3674c-92e8-e9bd-f2ce-cbfa18956a6b.png)

WebブラウザでAzure Portalを開き、概要の「データベース接続文字列の表示」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/9477d2c4-e02e-b542-e2a4-c54aef5a58b2.png)

ODBCタブを選ぶとAD認証で接続する場合の情報が得られます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/b9dfa8f7-5606-ad07-4d00-0f891486bc28.png)

ODBCデータソースアドミニストレーターに戻ります。
名前には任意の名前を選びます。
サーバーには上で得た接続情報からサーバー名をコピーします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/586bea59-b4ff-2313-9c4e-ca7a3bca2d41.png)

「AzureADパスワード認証で、ユーザーが入力するログインIDとパスワードを使う」を選びユーザーとパスワードを入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/df65677c-d3b3-0a77-0be4-ea58144f9c6e.png)

既定のデータベースを利用したいDBに設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/374e3bd5-33f1-6625-e0e1-854aa93fbd57.png)

完了します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/862dcca6-f756-0de4-3930-471d9c8ea97e.png)

「データソースのテスト」を行います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/6847dc8f-f6aa-2602-3ba1-33c9f18efa61.png)


テストが成功したらOKで保存します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/223763/c7df13f5-6824-8845-d6bf-2758fc14d305.png)