所以我有一个奇怪的问题。使用PHP,我运行数据库,并在每个数据库上使用PDO进行一些查询。一切都很好但是当数据库名称的长度大于27时,我有一个错误:
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;
}
...
}
答案 0 :(得分:0)
也许没有实际问题:
Messages with a severity level of 0 to 10 are informational messages and not actual errors.
来源: http://blog.sqlauthority.com/2007/04/25/sql-server-error-messages-sysmessages-error-severity-level/
如果您认为情况正常,则可能需要通过关闭错误报告来取消错误消息。
更新:您说您的程序崩溃且错误消息没有意义。