所以我有一個奇怪的問題。在PHP中,我運行數據庫,並在每個數據庫上使用PDO執行一些查詢。一切都很正常,但是當數據庫名稱的長度大於27,我有一個錯誤:PDO:數據庫名稱的長度太長
SQLSTATE[HY000]
General SQL Server error: Check messages from the SQL Server.
(severity 5)
我不知道,如果這只是一個巧合,但與90級的數據庫,我只是有這個問題對於那些誰有一個大於27.
你有這個問題的想法和如何解決它?我沒有發現類似這樣的問題。
class BD_TEST {
…
private function __construct(){}
private function __clone(){}
private function __destruct(){
self::$oDB_main = null;
self::$oDB_error = null;
}
public static function getInstance() {
…
if (!self::$oDB_main) {
try {
//Error in the next line
self::$oDB_main = new PDO("mssql:host=".$prj_server.",".$prj_port.";dbname=[".$prj_datasource."]",$prj_user,$prj_pass);
self::$oDB_main->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch (Exception $e) {echo($e."<br>Impossible to connect to [".$prj_datasource."] on ".$prj_server.":".$prj_port." with the user ".$prj_user."\n\n ".$e->getMessage());exit(0);}
}
return self::$oDB_main;
}
...
}
新的SQL Server數據庫名稱被存儲爲'是一樣的'爲nvarchar(128)'所以你應該能夠有SYSNAME'數據類型數據庫名稱最多爲'128'字符。較舊的數據庫,它曾經是'varchar(30)' – 2014-03-19 17:46:24
你的db的名字是什麼?也許它有一個不應該在那裏的角色。 – Duniyadnd
不,我檢查的字符都很好 例如:amstedindustrie_60_amstedindustrie_sp_dev – TroyAndAbed