Сбой драйвера PostgreSQL в SQLColAttribute

Описание: я использую базу данных postgresql в качестве серверной части, подключаясь к postgresql с помощью диспетчера драйверов unixodbc, библиотеки libodbc++ и драйвера psqlodbc. когда я пытаюсь запустить свое приложение для запроса некоторых данных, оно падает. Он получает разбился в случайных функциях.

я не могу точно отследить, какая функция дает сбой.

он падает на трех функциях, таких как

<сильный>1. SQLColAttribute 2. SQLGetInfo

Номер версии PostgreSQL, которую вы используете:

Как вы установили PostgreSQL:PostgreSQL 9.1 linux ubuntu

Внесены изменения в настройки в файле postgresql.conf: Нет

Операционная система и версия: linux ubuntu 12.04 (64-битная)

Какую программу вы используете для подключения к библиотеке PostgreSQL:libodbc++-0.2.3 (libodbc++)

Драйвер odbc PostgreSQL: версия psqlodbc (3.03)

Использование ODBC: unixODBC-2.3.2

По вопросам о любых ошибках:

Описание: я пытаюсь подключить свое приложение к PostgreSQL. пока я пытаюсь запустить запрос выбора, он падает при определенных функциях.

я использую linux ubuntu (12.04) с unixODBC (2.3.2), базу данных PostgreSQL (9.1), драйвер psqlodbc (3.03), libodbc++-0.2.3

Спасибо и с уважением Балакришна

Это сгенерированный отчет BackTrack.

#5  0x0000000002114936 in SQLGetInfo (connection_handle=0x7fff7003f190, info_type=151, info_value=0x7fffdfff93f4, buffer_length=4, string_length=0x7fffdfff93fa)
    at SQLGetInfo.c:560
        connection = 0x7fff7003f190
        ret = 0
        s1 = "\033\000\000\000\000\000\000\000\033\000\000\000\000\000\000\000@\226\377\337\377\177\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\225\fd\366\377\177\000\000-\023\005p\377\177\000\000\002\000\000\000\000\000\000\000\033", '\000' <repeats 15 times>, "@\226\377\337\377\177\000\000\355M\364\366\377\177\000\000-\023\005p\377\177\000\000\002\000\000\000\000\000\000\000\200\223\377\337\377\177\000\000\211\332\362\366\377\177\000\000\000\000\000\000\000\000\000\000R\221\350\001\000\000\000\000\220\361\003p\377\177\000\000\257\223\377\337\377\177\000\000-\023\005p\377\177\000\000+\023\005p\377\177\000\000(\023\005p\377\177\000\000\002\000\000\000\000\000\000\000\000\037\005p\377\177\000\000\000\000\000\000\070\000\000\000\005\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\220 \005p"
#6  0x00000000020dd764 in odbc::DatabaseMetaData::_getNumeric32 (this=0x7fff70051a20, what=<optimized out>) at databasemetadata.cpp:150
        res = <optimized out>
        t = 4
        r = <optimized out>
#7  0x0000000002100085 in odbc::DriverInfo::DriverInfo (this=0x7fff70052090, con=0x7fff7003eec0) at driverinfo.cpp:59
        md = 0x7fff70051a20
        r = <optimized out>
#8  0x00000000020dbeef in odbc::Connection::_connect (this=0x7fff7003eec0, dsn=..., user=..., password=...) at connection.cpp:213
        r = <optimized out>
#9  0x00000000020d9e4f in odbc::DriverManager::getConnection (dsn=..., user=..., password=...) at drivermanager.cpp:260
        con = 0x7fff7003eec0
#10 0x000000000133f105 in ODBCDatabase::Connect (this=0x7fff70053f40, properties=...) at StoreGrid/source/Database/ODBC/ODBCDatabase.cpp:134
        retryCount = 5
        triedCount = 1
        postgresConnectionString = {static npos = <optimized out>,
          _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x2e09678 ""}}
        sgConfig = 0x4f5c7e

person balakrishna    schedule 15.10.2014    source источник
comment
Обратный след от крушения был бы очень полезен.   -  person Craig Ringer    schedule 16.10.2014
comment
#5 0x0000000002114936 in SQLGetInfo (connection_handle=0x7fff7003f190, info_type=151, info_value=0x7fffdfff93f4, buffer_length=4, string_length=0x7fffdfff93fa) at SQLGetInfo.c:560 connection = 0x7fff7003f190 ret = 0 #6 0x00000000020dd764 in odbc::DatabaseMetaData::_getNumeric32 ( this=0x7fff70051a20, what=‹оптимизировано›) в databasemetadata.cpp:150 res = ‹оптимизировано› t = 4 r = ‹оптимизировано› #7 в odbc::DriverInfo::DriverInfo (this=0x7fff70052090, con=0x7fff7003eec0 ) в driverinfo.cpp:59   -  person balakrishna    schedule 17.10.2014
comment
Пожалуйста, воспользуйтесь руководством по форматированию. Авг. Кроме того, это только часть обратной трассировки... что случилось с исходным сообщением ловушки и кадрами с 0 по 4? Без них сложнее сказать, что происходит.   -  person Craig Ringer    schedule 17.10.2014


Ответы (1)


я решил проблему. Проблема сбоя была связана с библиотекой UnixODBC. это было исправлено в версии UnixODBC 2.3.

person balakrishna    schedule 01.11.2014