我有一个需要很长时间才能打开odbc连接的应用程序(比如20秒)也需要花费很长时间才能使用arcmap和arcsde
但是当我在odbc数据源管理员上尝试连接时,它会非常快速地进行测试
有没有人知道我造成了什么?
顺便说一下,应用程序在另一台带有另一个数据库的计算机上正常工作
感谢。
答案 0 :(得分:1)
在ODBC管理员中,您可以启用跟踪。然后比较慢速和快速机器的跟踪文件。如果使用ODBC管理员从该计算机“快速”打开并从您的应用程序“慢”,请尝试其他方式打开此类连接。尝试从其他工具(如QueryTool(免费试用版))使用它,或使用win32扩展在Python中创建简单脚本。在Python中(我推荐包含win32的Active Python),您可以使用以下命令打开ODBC:
import odbc
import time
t_start = time.time()
conn = odbc.odbc('db_alias/user/passwd')
t_stop = time.time()
print('open: %.3f [ms]' % (t_stop-t_start))
cursor = conn.cursor()
cursor.execute("SELECT FIRST 1 DBINFO('version','full') FROM systables;")
for row in cursor.fetchall():
print('[%s]' % (row[0]))
(注意Informix特定版本选择)