一年多以前,我创建了自己的数据库类,这些类使用PDO,并处理所有准备、执行和关闭连接。到目前为止,这些课程一直都很不错。
我从中获取的数据库服务器有两种,MySQL和MS SQL Express。我正在从MySQL服务器检索员工ID,并使用它从MS SQL Server获取员工信息。大约有11k条记录来自于MySQL服务器,我的程序在崩溃之前只通过了1200条,错误如下。
Connection failed (odbc:Driver=FreeTDS;Servername=MSSQLExpress;Database=SMDINC) Class (PDOException)
SQLSTATE[08001] SQLDriverConnect: 0 [unixODBC][FreeTDS][SQL Server]Unable to connect to data source
程序似乎无法连接到数据源,但它运行了大约30次完全相同的查询,而且没有问题。另外,我已经彻底检查了进入查询的所有数据,这些数据看起来都很好。
我相信问题可能是有很多连接被创建,但我已经尝试关闭许多不同地方的所有连接,似乎没有任何东西可以解决这个问题。任何调试帮助或建议将不胜感激!
克雷格梅洛
更新的
好的,我发现了问题,我在准备查询之后和执行之前使用了closecursor。我拿出了closecursor,它似乎解决了这个问题……但是为什么呢?对我来说没有任何意义…