これは役に立ちますか?
http://blog.nguyenvq.com/2010/05/16/freetds-unixodbc-rodbc-r/
FreeTDSを使用してLinuxサーバーからMicrosoftSQLサーバーに接続していますが、上記のリンクの人がFreeTDSを使用してMacから接続しているようです。
これが私の/etc/freetds/freetds.confファイルです(私が追加した唯一の部分はXYZサーバーの最後にありました):
[global]
# TDS protocol version
; tds version = 4.2
# Whether to write a TDSDUMP file for diagnostic purposes
# (setting this to /tmp is insecure on a multi-user system)
; dump file = /tmp/freetds.log
; debug flags = 0xffff
# Command and connection timeouts
; timeout = 10
; connect timeout = 10
# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
text size = 64512
# Define a connection to the MSSQL server.
[xyz]
host = xyz
port = 1433
tds version = 8.0
[質問者による編集]
FreeTDS構成は答えの前半です。構成が完了すると、コマンドラインから次のような操作を実行して接続できるようになります。
tsql -S xyz -U username -P password
次に、mssqlではなくdblibをPDOドライバーとして使用する必要があります。
$pdo = new PDO("dblib:host=$dbhost;dbname=$dbname",
"$dbuser","$dbpwd");
ここで、$dbhostはfreetds.confファイルからの名前です