本題に入る前に以前ブログで紹介した内容
AmazonLinuxにUnixODBC freetdsをインストールしてMS-SQLに接続してみた(1回目失敗) | 単刀直入に申しますと
上記の投稿は備忘と思い投稿したが再度設定する際に情報が不足していたので自己レスみたいに再度投稿します まず何がしたいのか?
AwsのVPCで起動しているEC2からVPN接続されているデータセンター側MS-SQLサーバーのデータを参照したい。
■構成
AWS-VPC DataCenter
[EC2]——(VPN)——[MS-SQL]
■AmazonLinuxでMS-SQL接続
まず、必要となるパッケージをインストールします。全部入れます
・unixODBC
・unixODBC-devel
・freetds
・freetds-devel
・php-odbc
・php-mssql
■unixODBCの設定
/etc/odbc.iniファイルに追記
[MS-SQLServer]
Driver = /usr/lib64/libtdsodbc.so
Description = Microsoft SQL Serer
Servername = MSSQLSERVER
Database = msdatabase
/etc/odbcinsta.iniファイルに追記
[FreeTDS]
Driver = /usr/lib64/libtdsodbc.so ■freetdsの設定
/etc/freetds.confファイルに追記
[MSSQLSERVER]
host = XXX.XXX.XXX.XXX(mssql.example.com)
port = 1433
tds version = 7.2 ※1
charset = UTF-8
client charset = UTF-8
language = japanese ※1:MS-SQLバージョンを確認 http://freetds.schemamania.org/userguide/choosingtdsprotocol.htm
■MS-SQLへの接続テスト
tsql -S servername -U username -P password
1>select @@version
2>go
Microsoft SQL Server 2008 (SP3) – 10.0.5500.0 (X64)
XXX XX 20XX XX:XX:XX
Copyright (c) 1988-2008 Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
接続できましたが、PHP等から接続する場合にはphp-mssqlが必要ですのでインストールをお忘れなく、私はPHPが書けないのでtsqlのみの確認ですがPHPで別の方が接続テストしてくれましたので問題なくPHPでも接続できます。
下記は、Googleで検索し参考にさせていただいたサイトです
CentOSにRailsを入れてODBC経由でSQLServerに繋げるまで その1
CentOSにRailsを入れてODBC経由でSQLServerに繋げるまで その2
インストールログ Infinite Loop -SE奮闘記-
システム運用日記 : LinuxからSQL Serverに接続する
http://freetds.schemamania.org/userguide/choosingtdsprotocol.htm
CakePHPからSQLServer(MSSQL)サーバにアクセスをするにはFreeTDSを使ったODBC経由でのアクセスになるようだ | Ultraひみちゅぶろぐ
linux – Can’t Install FreeTDS via Yum Package Manager – Stack Overflow