我們已經在CakePHP中運行MYSQL並開發了我們的應用程序,並且工作正常。 PHP版本是5.4.16,Apache 2.4.4,最新的XAMP。 CakePHP版本:2.3.0在執行某些MSSQL存儲過程時cakephp中的問題
我們在MSSQL中也有類似的數據庫。現在我們也想用這個MSSQL來運行我們的應用程序。
我們對此使用了php_pdo_sqlsrv_54_ts.dll和php_sqlsrv_54_ts.dll作爲MSSQL驅動程序。它的SQL服務器2005年。
問題是,當我運行某些SQL Server存儲過程時,cakephp什麼也不運行。我可以在SQL分析器中看到存儲過程調用的語法沒問題,所有參數都是正確的。我還可以在Profiler中看到這個存儲過程在SQL服務器上運行得非常好。但是cakephp沒有顯示任何東西。
對應的MySql例程工作正常,cakephp返回正確的數據。
這是PHP代碼,其次是存儲過程。
$getCoulmnsInfo =$this->Maintable->query('exec GetColumns_Information 0');
print_r($getCoulmnsInfo); // This prints nothing, $getCoulmnsInfo is empty
相應的SQL服務器存儲過程是
ALTER PROCEDURE [dbo].[GetColumns_Information]
@GroupOverride midsys_boolean AS
IF (@GroupOverride = 1)
BEGIN SELECT columns_id, columns_columntypesid, columns_columnname,
columns_usercolumnname, 1 FROM ColumnsTable ORDER BY columns_id RETURN END
SELECT columns_id, columns_columntypesid, columns_columnname,
columns_usercolumnname, columns_columnsettings
FROM ColumnsTable
ORDER BY columns_id
現在,如果修改上面給下面然後正常工作,並返回正確的結果。基本上我刪除了中間的幾行。
ALTER PROCEDURE [dbo].[GetColumns_Information]
@GroupOverride midsys_boolean AS
SELECT columns_id, columns_columntypesid, columns_columnname,
columns_usercolumnname, columns_columnsettings
FROM ColumnsTable
ORDER BY columns_id
存儲過程的另一個例子,它不工作。
ALTER PROCEDURE [dbo].[MainStatusesFlow_Next]
@MainID int AS
DECLARE @MainStatusesID int
SELECT @MainStatusesID = main_mainstatusesid
FROM MainTable
WHERE main_id = @MainID
IF EXISTS (SELECT * FROM MainStatusesTable MainStatuses INNER JOIN
MainStatusesFlowTable MainStatusesFlow ON MainStatuses.mainstatuses_id =
MainStatusesFlow.mainstatusesflow_nextstatusid WHERE
MainStatusesFlow.mainstatusesflow_statusid = 10)
BEGIN SELECT MainStatuses.mainstatuses_name FROM MainStatusesTable MainStatuses
INNER JOIN MainStatusesFlowTable MainStatusesFlow ON MainStatuses.mainstatuses_id =
MainStatusesFlow.mainstatusesflow_nextstatusid WHERE
MainStatusesFlow.mainstatusesflow_statusid = 10 RETURN END
SELECT mainstatuses_name, 1
FROM MainStatusesTable
WHERE mainstatuses_id = 10
再次,如果我刪除中間部分,那麼它的作品。
其餘的存儲過程非常好。
任何幫助將不勝感激。
乾杯