CSA Data Uploader で Linux環境からSQL ServerにODBC接続する

2022.02.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

クラスメソッドが展開しているデータ統合基盤サービス『CSアナリティクス』(以降"CSA")のプロダクト群の1つ、『Data Uploader』をLinux環境で起動してSQL ServerにODBC接続してみました。

今回、私が行った手順について書きたいと思います。Windowsでの手順については以下を参照ください。
クラウドストレージへのファイルアップロード&ETLツール『Data Uploader』の入力にODBC接続データを指定する

前提条件

今回はLinux環境として Amazon Linux 2 の Dockerイメージを使用しました。また接続するSQL Serverは既に稼働済みのものとします。

事前準備:データーベース環境及びODBCドライバ設定を用意

Linux上でODBCドライバの設定を行います。コマンドとしては以下を実行しました。

$ sudo su
$ curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
$ exit

$ sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
$ sudo ACCEPT_EULA=Y yum install -y msodbcsql17
$ sudo ACCEPT_EULA=Y yum install -y mssql-tools

$ echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
$ source ~/.bashrc

$ sudo yum install -y unixODBC-devel

UbuntuなどそのほかのLinuxディストリビューションなどから接続する際には、以下を参考に該当のディストリビューション用のドライバを設定するようにしてください。
Microsoft ODBC Driver for SQL Server をインストールする (Linux)

「sqlcmd」を使用し、SQL Serverに接続できるかを確認します。

$ sqlcmd -S 接続データベースホスト名 -U 接続データベースユーザー名 -P '接続データベースパスワード'
1>

接続できたら、CSA Data Uploader より取得したいデータが登録されているかを任意のクエリを実行して確認します(データがない場合はINSERTなどで登録しておいてください)。

1> USE devdu
2> GO
Changed database context to 'devdu'.

1> SELECT * from dutest
2> GO
col1       col2      
---------- ----------
aaa        bbb       

(1 rows affected)

CSA DataUploader より接続するため「~/.odbc.ini」に接続設定を記述します。以下の例ではデータソース名として「csa-du-connection-sqlserver」としています。こちらは任意の文字列でも大丈夫です。

$ vi ~/.odbc.ini
[csa-du-connection-sqlserver]
Driver = ODBC Driver 17 for SQL Server
SERVER = 接続データベースホスト名
PORT = 1433
Database = 接続データベース名
USER = 接続データベースユーザー名
Password = 接続データベースパスワード

CSA Data Uploader : ODBC接続設定

CSA Data UploaderでODBC接続を利用するための設定を行います。メニューの[設定]から[ODBC]を選択します。

[ODBC設定]画面が表示されるので[追加]ボタンを押下します。[データソースの追加]ダイアログが表示されるので

  • [種別]に[SQL Server]を選択
  • [データソース]に「~/.odbc.ini」に記載したデータソース名(今回は「csa-du-connection-sqlserver」)を選択
  • [ユーザー名]に接続データベースユーザー名を入力
  • [パスワード]に接続データベースパスワードを入力

します。

上記を入力し、[接続テスト]を押下して[OK]となるか確認します。接続が確認できたら[保存]ボタンを押下して設定を保存します。

CSA Data Uploader : ジョブによるデータ取得の確認

CSA Data Uploaderのジョブ一覧画面にて[ジョブを作成]を押下し、任意のジョブ名で[データアップロード]ジョブを作成します。

作成したジョブのジョブ詳細画面に遷移し、入力処理の追加で入力種別に[ODBC接続]を選択します。

[データソース名]で先ほど作成したODBC接続設定を選択します。[クエリ]欄に任意のクエリを入力し、[読み込みテスト]を押下して[OK]となるか確認します。 確認したら[保存]ボタンを押下します。

ジョブ詳細画面で[データ表示]を押下し、SQL Serverよりデータが正しく取得できるかを確認します。

まとめ

CSA Data Uploader をLinux環境で起動してSQL ServerにODBC接続してみる手順についてでした。CSA Data Uploaderは1ヶ月間のトライアル利用が可能となっています。興味をお持ち頂いた方は是非無料版ダウンロードページからインストーラを入手頂き、お試し頂けますと幸いです。