天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

關(guān)于php連接mssql:pdo odbc sql server

只有一個(gè)php_pdo_odbc.dll。
so~最新最好的php連接mssql方法應(yīng)該是這樣:
復(fù)制代碼 代碼如下:
<?php
$cnx = new PDO("odbc:Driver={SQL Server};Server=127.0.0.1;Database=test;",'sa','asd123');
var_dump($cnx);
$a = $cnx->query("SELECT * FROM [user]");
var_dump($a);
foreach ($a as $b) {
var_dump($b);
}
?>


關(guān)于php無(wú)法連接MSSQL數(shù)據(jù)庫(kù)的問(wèn)題
今天配置了新服務(wù)器,配置是IIS+php,結(jié)果運(yùn)行時(shí)發(fā)現(xiàn)php連接遠(yuǎn)程mssql數(shù)據(jù)庫(kù)出錯(cuò),出錯(cuò)代碼如下:
Warning: mssql_connect(): Unable to connect to server:
想想以前都是沒(méi)問(wèn)題的,怎么回事呢?后來(lái)去網(wǎng)上搜索,發(fā)現(xiàn)一篇文章,才發(fā)現(xiàn)原來(lái)服務(wù)器是需要安裝mssql才能用php連接mssql的,本來(lái)新服務(wù)器上我是不需要用到mssql的,但是現(xiàn)在沒(méi)辦法了,只能把它裝上了,安裝了mssql之后就沒(méi)問(wèn)題了。
我在想,如果是在linux上面的apache+php會(huì)怎樣呢,不可能需要安裝mssql吧,呵呵,暈了。
下面是找到的一篇文章。
php配置:
php.ini文件里設(shè)置如下,找到
;extension=php_mssql.dll 把前面的分號(hào)去掉
找到extension_dir = d:/extension/
你的php.ini里面可能不是d:/extension/
改成在php安裝目錄下面的extensions目錄下面的php_mssql.dll,所在的路徑,如果你沒(méi)有把它移動(dòng)到其他地方(假設(shè)你的php安裝路徑是d:/php
就改成extension_dir=d:/php/extensions/
然后重新啟動(dòng)web服務(wù)器

這一點(diǎn)很容易做到,但是做完這樣的設(shè)置后還是連不上,錯(cuò)誤的信息如下:
MS SQL Server 數(shù)據(jù)庫(kù)連接錯(cuò)誤!請(qǐng)檢查數(shù)據(jù)庫(kù)主機(jī)變量設(shè)置是否正確!!!
而主機(jī)的變量設(shè)置我是一遍一遍的檢查,那些設(shè)置是一點(diǎn)問(wèn)題都沒(méi)有的,翻遍網(wǎng)頁(yè),找到了下面的這點(diǎn)蛛絲馬跡:

php.com資料:
I am trying to connect to SQL Server 2000 from php
I bumped to following warning:
Warning: mssql_connect(): Unable to connect to server: SERVER/Portal
....... on line 5
on line 5 there is:
$db_connect = mssql_connect('SERVER/Portal', 'sa', 'my_passwd');
I did the following
1.enabled php_mssql.dll extension in php.ini
2.every dll is in proper place(System32 or php folder),including ntwdblib.dll
I search lots of profile throught web ,but no one give me proper answer to resolve it.
after a few hour ,I found the problem was caused by
ntwdblib.dll ,which version is 7.00.839 ,when I replaced old ntwdblib.dll with the new
ntwdblib.dll ,which version is 8.00.194 ,all problem are solved.
We had some, read A LOT, of problems with MSSQL under Windows 2003.
We had 2 the same windows, php, php-ini, everything machines but only one could connect.
Unable to connect was the error message.
Finnaly we checked the version of ntwdblib.dll and the one distributed with php was 7.00....
and the version of the one on the SQL Server install was 8.00.... so we copied this one in
the php and apache dir and it worked.
問(wèn)題就這樣被找到了,惹禍的是它 ntwdblib.dll
ntwdblib.dll的主要作用是提供sql server連接服務(wù)。
我用的php版本是4.3.9,在安裝它的服器的 windows/system32/ 下我查到ntwdblib.dll文件的版本是2000.2.8.0 ,這個(gè)版本支持的是sql server 7.0, 因?yàn)榘惭bphp時(shí)會(huì)把dlls下面的所有文件覆蓋到系統(tǒng)
目錄下,所以當(dāng)我用它去連接 sql server 2000 的時(shí)候當(dāng)然會(huì)是無(wú)法連接了。
后來(lái)我在一臺(tái)正常安裝sql server 2000 的服務(wù)器上查到 ntwdblib.dll的版本是 2000.80.2039.0,我把這個(gè)文件拷過(guò)去,覆蓋掉以前的版本,重啟服務(wù)器后,一切正常。
補(bǔ)充:如果數(shù)據(jù)庫(kù)名的開(kāi)頭是數(shù)字時(shí)也會(huì)提示無(wú)法打開(kāi),這時(shí)要做的很簡(jiǎn)單,把數(shù)據(jù)庫(kù)的名字用中括號(hào) [ ]
括起來(lái)就搞定了,如 123bbs 改寫成 [123bbs]就沒(méi)有問(wèn)題了,另外如果你的數(shù)據(jù)庫(kù)名字與sql server中的保留字沖突的話也會(huì)出現(xiàn)這種情況,用中括號(hào)的方法一樣可以解決。
最終,php無(wú)法正確連接sql server 2000的問(wèn)題終于解決了,雖然耗費(fèi)大半天的時(shí)間,但收獲還是很大的,現(xiàn)在把它貼出來(lái),也讓遇到同樣問(wèn)題的兄弟們少走一些彎路。

php技術(shù)關(guān)于php連接mssql:pdo odbc sql server,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 丰满五十老女人性视频 | 国产精品久久欧美一区 | 精品国产手机视频在在线 | 永久精品视频无码一区 | 亚洲狠狠网站色噜噜 | 国产亚洲人成网站在线观看播放 | 日日干夜夜啪蕉视频 | 久久热精品18国产 | 亚洲中文日韩日本在线视频 | 午夜福利理论片在线播放 | 男人插曲女人的叫声 | 成年无码av片 | 国产伦精品一区二区免费 | 欧洲精品一区二区不卡观看 | 成人在线视频国产 | 久久毛片网站 | 97超碰在线视频人人av | 调教玩弄奶头乳夹开乳震动器 | 国产美女一区二区 | 果冻传媒在线观看进入窗口 | 嘟嘟嘟在线视频免费观看高清中文 | 九九精品在线播放 | 成人免费无毒在线观看网站 | 国产成人小视频 | 99视频这里只有精品 | 国内精品九九视频 | 免费国产麻豆传 | 欧美日韩午夜群交多人轮换 | 第一次处破女高清电影 | 国产高清免费观看 | 粉嫩极品国产在线观看 | 伊人伊人影院 | 久久99久久成人免费播放 | 三男强一女90分钟在线观看 | 亚洲国产精品无码中文在线 | 91热久久免费频精品动漫99 | 20岁中国男同志china1069 20岁αsrian男同志免费 | 亚洲男女羞羞无遮挡久久丫 | 成人在线视频免费看 | 草699一码二码三码四码 | 桃色窝 |