У меня есть приложение, которое требует много времени для открытия соединений odbc (например, 20 секунд), также занимает вечность с использованием arcmap и arcsde
но когда я пытаюсь подключиться к администратору источника данных odbc, он проверяет его очень быстро
Кто-нибудь знает, что я вызываю?
кстати, приложение отлично работает на другом компьютере с другой базой данных
Спасибо.
В администраторе ODBC вы можете включить трассировку. Затем сравните файл трассировки с медленной и быстрой машины. Если с этой машины открывается "быстрое" соединение с использованием администратора ODBC, а "медленное" - из вашего приложения, попробуйте другие способы открыть такое соединение. Попробуйте использовать его из другого инструмента, например QueryTool (бесплатная пробная версия), или создайте простой скрипт на Python с расширением win32. В Python (я рекомендую Active Python, в который включен win32) вы можете открыть 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)