最近關於比價系統遇到的若干問題做一個簡單的總結:
- MSSQL和PHP的連結。【ntwdblib.dll檔案的版本低導致PHP無法串連MSSQL】ntwdblib.dll (2000.80.194.0)
- PHP調用JAVA程式. [運行JAR包的程式不能調用本身自己包裡的JAR, 解決方案 1:可以設定JAR包裡面的MANIFEST.MF檔案的Class-Path屬性。 例如:Class-Path: commons-beanutils.jar,2:打包事可以把調用的JAR包CLASS解壓出來和自己的程式CLASS一起打包]
- PHP或者JAVA調用網路位置檔案
- 圖片解析文字OCR
最新的php 5.3.6中php_mssql.dll,php_pdo_mssql.dll都已經不見了。
只有一個php_pdo_odbc.dll。
so~最新最好的php串連mssql方法應該是這樣:
<?php
初步驗證不可用
//$cnx = new PDO("odbc:Driver=TDS;Server=$server;Database=newaiderdb;",$user,$passwd);
//$dsn = "odbc:Driver=TDS; Server=$server; Uid=$user; Pwd=$passwd; Database=newaiderdb;";
//$cnx = new PDO($dsn);
//MiscroSoft sqlsrv for php windows
//$cnx = new PDO( "sqlsrv:Server=$server ; Database = newaiderdb", $user, $passwd, array(PDO::SQLSRV_ATTR_DIRECT_QUERY => true));
//Linux, TDS Data Source, support utf8
//$cnx = new PDO('odbc:mssql',$user,$passwd);
$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);
}
?>
ubuntu php 5.3.6
驗證可用
$cnx = new PDO ( 'dblib:host=192.168.2.243:1433;dbname=newaiderdb', $user, $passwd );