AzureでSQLサーバにlinuxから接続する

最近Azureにはまっています。AzureはMSDNのサブスクリプションを持っていると無料で使える枠があるので非常に便利です。ちょっと試したいときとかサクッとサーバ作って試せますから。

Azureでは公式にはデータベースのサービスはSQLServerになっているようです。MySQL等もサードパーティのサービスで使えるみたいですが、やはりAzureをせっかく使うのならばSQLServerを使ってみることにします。

SQLサーバには特に不満はないのですが、Linuxからの使い勝手が悪かったりします。今回はunixodbcとfreetdsを使ってコマンドラインから接続を試みます

環境
  • OS:Ubuntu14.4
手順

unixodbc,freetds,tdsodbcのインストール

/etc/odbcinst.ini

/etc/odbc.ini

odbcinst.iniのDriverとodbc.iniの[FreeTDS]の部分は名前を合わせます

/etc/freetds/freetds.conf

odbcinst.iniのServernameと[SqlServer]の部分の名前を合わせます

hostにはazureのSQLサーバの接続先ホスト名を記入します

環境変数

接続

sqlserverusernameとsqlserverpasswordはSQLサーバのユーザ名とパスワードをいれます

ここがポイントなのですが -U の後のユーザ名に@xxxxxxxxxとSQLサーバの接続先ホストのホスト名を入れてやる必要があります

以下のサイトを参考にしました

http://jyukutyo.hatenablog.com/entry/20111024/1319473427

http://makeitsmartjp.com/2013/02/centos-sqlserver.html