所以先重裝一次 http://z-win.blogspot.com/2010/05/ubuntu-php-52x.html
最後加上
sudo apt-get install freetds-bin
sudo aptitude install -t karmic php5-sybase
#改freetds 設定(這是我自已要用的)
sudo vim /etc/freetds/freetds.conf
#在[global]加上
text size = 104857600 #大小能到100b
client charset = UTF-8 #預設utf-8
#改mssql_connect的語言
sudo vim /etc/php5/apache2/php.ini
#加入
mssql.charset = "UTF-8"
sudo /etc/init.d/apache2 restart
#test方法
tsql -H mssql.ip -p 1433 -U username
#輸入password後出現 1> 就成功了
#php
#也可以用 匿名主機 方式連入,但mssql 要sp4以上
sudo vim /etc/freetds/freetds.conf
#加入
[mssql_con1]
host = this.con1.server
port = 1433
tds version = 8.0
#test方法
tsql -S mssql_con1 -U username
#輸入password後出現 1> 就成功了
#php測試
<?php
echo mssql_connect('mssql_con1', 'username', 'password')
? 'success'
: 'failure';
?>當mssql的資料是 uniqueidentifier 在LINUX上的FREETDS 要用 mssql_guid_string 或 在SQL 用 cast(欄位名 as varchar(36)) 轉換字元, 在windows用com 時會自動轉
uniqueidentifier 的說明:
http://technet.microsoft.com/zh-tw/library/ms190215.aspx
php的其它解法可以看:
http://uk.php.net/manual/en/function.mssql-guid-string.php
如果發生:
Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS options to be set for the connection. This ensures consistent query semantics. Enable these options and then reissue your query.
請使用底下語法:
SET ANSI_WARNINGS ON
SET ANSI_NULLS ON
參考:
http://social.msdn.microsoft.com/Forums/en/sqldataaccess/thread/1d501b57-fc58-4fbe-9bec-6c38ad158a62
7 則留言:
請問作者
沒有安裝完整的freetds
應該不用能 tsql
tsql -H mssql.ip -p 1433 -U username
那請教是哪裡輸入
tsql -H mssql.ip -p 1433 -U username
是在 /etc/freetds嗎
但裡面沒有tsql的資料???
請指教謝謝
問一下,你是用什麼方式裝, 如果自行編譯freetds的話,tsql大部份在 /usr/local/freetds 底下,你要自行連結到/usr/bin/ 中
作者你好
我直接從freetds官網download freetds-0.82檔案下來
並下指令
./configure --prefix=/etc/freetds --with-tdsver=8.0 --enable-msdblib
把它與apache2安裝在 /etc底下
就可以連線了
但[mssql]===>不能能
用[輸入ip]=====>卻可以連
不曉得為什麼
請指教謝謝
#也可以用 匿名主機 方式連入,但mssql 要sp4以上
sudo vim /etc/freetds/freetds.conf
#加入
[mssql_con1]
host = this.con1.server
port = 1433
tds version = 8.0
#test方法
tsql -S mssql_con1 -U username
#輸入password後出現 1> 就成功了
感謝作者,我會試試看
不好意思,再請教fedora安裝
請問有操作手冊嗎??
因為我一直無法執行透過php連freetds(freetds是可以連的),看了很多網站,不得其果
因為我都用yum裝php-mssql,其實跟ubuntu一樣,都採用sudo apt-get install 安裝方式一樣,但ubuntu可以而fedora卻不可以,故請教之
還要裝 php5-sybase
freedtds 有說明
http://www.freetds.org/userguide/php.htm
我是用 sudo aptitude install -t karmic php5-sybase 去裝的
手動安裝 php5-sybase 的元件 請看
http://www.freetds.org/userguide/php.htm
張貼留言