 |
|
各位好, 在使用mysql时,遇到一个棘手的问题,请教一下大家,问题如下: 我的应用要频繁访问mysql, 例如,用户登录时的密码验证等, 因为访问的量比较大, 我在程序中建立了mysql的连接池,当应用程序收到一个验证请求时,首先建立一个新的线程,然后这个线程从连接池获取一个连接,然后在这个连接上面做一些查询操作。我的应用是通过ODBC接口连接的MySQL数据库。 问题来了, 我的应用启动后,如果在mysql客户端update或insert了数据库中的数据, 但这时应用程序里面的每个连接查询出来的仍然是老的数据,只用重启应用后,才能看得到新的数据。 我首先怀疑是mysql的缓冲区问题, 查看相关资料,说是做update或insert操作会清楚缓冲区的内容,这个应该是没有问题的。 然后, 又怀疑是程序问题,尝试了n中方法,还是同样的结果。 请问,有没有碰到的类似问题的朋友,或请高手指点一下,多谢。
这个问题第1个回答:
建议楼主转到MySql区去.这里MS SQL的强人比较多.
这个问题第2个回答:
当你使用完一个连接有没有close? 每次要先获取连接池对象,然后取DataSource并connect,这样就可以取得最新数据
这个问题第3个回答:
没有太明白楼上的意思, 如果取到一个连接池对象还要connent, 那就失去了连接池的意义了, 我的理解是连接池的对象都是实现连接上数据库的,在使用的时候,取出一个连接对象就可以了。
这个问题第4个回答:
搞定了,设置connection的一个属性就可以了 SQLSetConnectOption(m_hdbc, SQL_TXN_ISOLATION, SQL_TXN_READ_COMMITTED); 结贴
|
|
|
|
|
|