Форум программистов, компьютерный форум, киберфорум
Visual C++: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 07.09.2012
Сообщений: 12

С++ и ODBC

19.09.2012, 15:39. Показов 2042. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема такая: есть программа метатрейдер4(может кто знает, для торговли на рынке форекс.) Пишу для нее плагин, который в реальном времени забирает с MT server информацию и кладет ее в базу MySQL через ODBC Connector(MySQL server 5.5, ODBC connector 5.1). На Windows 7 все работает отлично, никаких проблем. Но на Windows Server 2003 при запуске вылетает на следующем коде:

C++
1
2
3
4
5
SQLRETURN retcode = SQLExecDirect( obj->hstmt, (SQLCHAR *)((string("CREATE TABLE IF NOT EXISTS ") + obj->db_table_name + string(" ("
        "id INT(11) NOT NULL AUTO_INCREMENT, "
        "order_id INT(11) NOT NULL, "
        "PRIMARY KEY (id)"
        ")")).c_str()), SQL_NTS );
Функция подключения отрабатывает нормально, вот она

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
int ODBC_SQL_connector::ConnectAndInitSQL()
{
    SQLRETURN retcode;
 
    retcode = SQLAllocHandle( SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv );
    
    retcode = SQLSetEnvAttr( henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0 ); 
    if (LogSQLResult( "SQLSetEnvAttr henv", retcode, SQL_HANDLE_ENV, henv ))
        return FALSE;
 
    retcode = SQLAllocHandle( SQL_HANDLE_DBC, henv, &hdbc ); 
    if (LogSQLResult( "SQLAllocHandle hdbc", retcode, SQL_HANDLE_ENV, henv ))
        return FALSE;
 
    retcode = SQLSetConnectAttr( hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)5, 0 );
    if (LogSQLResult( "SQLSetConnectAttr", retcode, SQL_HANDLE_DBC, hdbc ))
        return FALSE;
    
    retcode = SQLConnect( hdbc, (SQLCHAR *)db_server_name.c_str(), SQL_NTS, (SQLCHAR *)db_login.c_str(), SQL_NTS, (SQLCHAR *)db_password.c_str(), SQL_NTS );
    if (LogSQLResult( "SQLConnect", retcode, SQL_HANDLE_DBC, hdbc ))
        return FALSE;
    else
        connected = true;
 
    retcode = SQLAllocHandle( SQL_HANDLE_STMT, hdbc, &hstmt );
    if (LogSQLResult( "SQLAllocHandle hstmt", retcode, SQL_HANDLE_DBC, hdbc ))
        return FALSE;
 
    retcode = SQLExecDirect( hstmt, (SQLCHAR *)((string("USE ") + db_name).c_str()), SQL_NTS );
    if (LogSQLResult( "SQLExecDirect USE", retcode, SQL_HANDLE_STMT, hstmt ))
        return FALSE;
   
    return TRUE;
}
Проблема осложняется еще и тем, что когда создал простой exe-шник, который делает то же самое, он отработал без замечаний.
Может кто сталкивался с подобным?

Добавлено через 22 часа 10 минут
Попробовал другой коннектор (MySQL Connector/C++ ), та же история. Может надо какие то доставить dll именно для работы с С++?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.09.2012, 15:39
Ответы с готовыми решениями:

ODBC+mySQL, Изучаю модуль ODBC
Здравствуйте. Возник следующий вопрос. Пытаюсь выполнить простой инсерт в таблицу на mySQL сервере, однако код выдает ошибки (цикл...

Microsoft OLE DB Provider for ODBC Drivers error '80040e10' [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 3.
Hi All! имеется форма для добавления нового юзера в базу Set strConnString = Server.CreateObject('ADODB.Connection') ...

Microsoft OLE DB Provider for ODBC Drivers error '8007000e' [Microsoft][ODBC Microsoft Access Driver] Cannot open any more tables.
Microsoft OLE DB Provider for ODBC Drivers error '8007000e' Cannot open any more tables. a_func.inc, line 813 Кода этой ошибки...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.09.2012, 15:39
Помогаю со студенческими работами здесь

Отличия MySQL ODBC for VS и обычного MySQL ODBC driver for Windows
Привет! Не знаю, может вопрос немного не сюда, но изучаю C# в разрезе м подключением к базе mysql. Натолкнулся на два типа адаптера...

MySQL ODBC 5.3 - В "Источника данных (ODBC) "драйвер присутствует на вкладке "Драйверы"
Проблема в следующем. Установил MySQL 5.6.24 (ОС - Windows 7 Professional). В "Источника данных (ODBC)" драйвер присутствует на...

Странная ошибка с ODBC: [Microsoft][Драйвер ODBC Microsoft Access] Файл '(нет данных)' не может быть открыт ядром базы данных Microsoft Jet.
Внезапно вылезла вот такая ошибка: Файл '(нет данных)' не может быть открыт ядром базы данных Microsoft Jet. Файл уже открыт другим...

Тип ошибки: Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D) [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'AL_AS
Я только начинаю, это мой первый пробный пример и никак не могу начать: Вот пример, который я хотел запустить: за ним сообщение об...

Помогите отловить ошибку: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect s
Раньше токого не возникало, пытаюсь вставить в таблицу: otvet = trim(request.form('R1')) last = rs0('IDUser') cn2.Execute('insert...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru