PDO数据库连接问题

时间:2010-05-28 19:17:08

标签: php sql mysql sql-server pdo

一年多以前,我创建了自己的数据库类,使用PDO,并处理所有准备,执行和关闭连接。到目前为止,这些课程一直很好。

我从中获取了两种不同的数据库服务器,MySQL和MS SQL Express。我正在从MySQL服务器检索员工ID并使用它从MS SQL服务器获取该员工信息。有大约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次并且没有问题。此外,我已经彻底检查了查询中的所有数据,看起来一切都很好。

我认为问题可能是创建了许多连接,但我试图在许多不同的地方关闭所有连接,似乎没有什么能解决这个问题。任何调试帮助或建议将不胜感激!

Craig Metrolis

已更新

好的,我发现了问题,我在准备查询之后和执行之前使用了closeCursor。我拿出了closeCursor,它似乎解决了这个问题....但是为什么?这对我没有任何意义.....

1 个答案:

答案 0 :(得分:0)

  

PDOStatement :: closeCursor()释放   与服务器的连接,以便   可能会发布其他SQL语句,   但声明留在一个州   这使它能够再次执行。

换句话说,它正在关闭你的连接。

但仍然没有解释为什么在问题发生之前它已经通过了1200条记录。