С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
Запарившийся

Помогите разобраться в работе с ODBC

19.03.2008, 12:59. Показов 4509. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Начитавшись замечательной статьи - http://hghltd.yandex.net/yandb... cess%20BDE
Все сделал как там.
Т.е. переделал длл odbc32.dll и odbccp32.dll, в либ, подключил к проекту. Все шло хорошо, пока я не подрубил .h файлы соответствующие #include <sql.h> #include<odbcinst.h>
Ашки отказываются компилироваться, в частности в файле <sqltypes.h> компилятор возмущается на объявления типов, отказываясь понимать HWND, BOOL и т.д. Другие файлы тоже не радуют. В чем проблема? Может кто сталкивался? Порывшись на просторах гугля не нашел схожих проблем.
Вин32 - продефайнил..
Где собака таки зарыта?
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.03.2008, 12:59
Ответы с готовыми решениями:

Помогите разобраться в C++ Builder XE
Помогите разобраться в C++ Builder XE !! Вчера установил себе новый С++ до этого работал в С++ Builder 6 ,а в этом счасть е даже не знаю...

Помогите разобраться в коде
Здрасьте!!! помогиде разобраться в одном коде!!!! void __fastcall TForm1::Button2Click(TObject *Sender) { spisok obj; bool is...

Помогите разобраться новичку!!
Всем здрасте!) Мы только начали изучать среду Borland C++ Builder, поэтому многих вещей я не понимаю. Нужную литературу как ни старалась...

12
Запарившийся
19.03.2008, 13:08
ПС. Билдер юзаю 5й, виндовоз ХР, возможно это важно.
1 / 1 / 0
Регистрация: 17.03.2008
Сообщений: 13
19.03.2008, 13:22
А что ты такое разрабатываешь? Может проще без этих либ?
0
Запарившийся
19.03.2008, 13:26
Смысл в том, что мне надо работать с ОДБС из билдера - взять список алиасов, если чего нет - добавить алиас для акцесовской базы.. Другого способа работы с ОДБС я не нарыл.
БДЕ не подходит, с Аццесом оно работает отвратительно. Переделывать базу на что - то другое - тоже не вариант - прийдется перетряхивать серьезную прогу, да и базу трогать нельзя, она в работе постоянно..
И что самое обидное, сделал вроде все правильно и у народа так же работает.. а у меня такие вот головняки..
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
19.03.2008, 13:41
ну вообще длл можно подключать без всяких заманух с помощью LoadLibrary
вот пример:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void __fastcall TMainForm::CreateAlias(AnsiString OName, AnsiString AName)
{
  try{
    HINSTANCE Odbc = LoadLibrary("odbccp32.dll");
    // Создадим системный DSN
    CreateODBC = (bool (INSTAPI*)(HWND hwndParent, WORD fRequest, LPCSTR lpszDriver, LPCSTR lpszAttributes))::GetProcAddress(Odbc,"SQLConfigDataSource");
    if(!(*(CreateODBC))(NULL, ODBC_ADD_SYS_DSN, "Oracle in OraClient10g_home1", "DSN=Naryad\0"
    "Password=dbo\0" "ServerName=astra46\0" "UserID=dbo\0")){
      AppError("Ошибка создания источника данных в ODBC.");
      WriteLog("Error: Ошибка создания источника данных в ODBC.", User->Login);
      _exit(0);
    }
    FreeLibrary(Odbc);
  }catch(...){
    AppError("Ошибка создания источника данных в ODBC.");
    WriteLog("Error: Ошибка создания источника данных в ODBC.", User->Login);
    _exit(0);
  }
}
//---------------------------------------------------------------------------
а если так хочется работать через одбц, то рекомендую AnyDac... там уже все реализовано
0
Запарившийся
20.03.2008, 08:07
Спасибо за подсказку.
У меня была проблема в том, что в стандартной билдеровской ашке компилятор не понимал как раз типы данных вроде ХВНД и ВОРД и т.д.
Сегодня с утра подключил в этой ашке виндовс.аш. Откомпилировалось! Странно.. с одной стороны, раз она требуется, почему разработчики ее туда не проинклудили.. А так же то, что у меня прога перестала понимать шоу мессадж.. Как грицо ничееего не понимаю.. Попробую отработать функции по одбс. Возможно и там меня ждут сюрпризы..
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
20.03.2008, 09:04
одбц - это сплошной сюрприз, поверь мне
0
Запарившийся
20.03.2008, 12:03
Охотно верю, как и вся работа с базами на билдере, да и не только с базами. Уже столько багов насмотрелся в среде.. Пока вроде полет нормальный. Что радует. Вот только ума не приложу, они что, среду программирования вообще нихрена не тестили чтоли, прежде чем в народ пускать... Или это мне так с конкретным ее релизом повезло..
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
20.03.2008, 12:07
ну не скажи, как говорится - нашел баг, не исправляй, а запиши как особенность программы, потому что можешь привнести в проект еще больше глюков... к его капризам быстро привыкаешь... тем более весь софт местами подглючивает... но как-то же живем...
0
Запарившийся
20.03.2008, 13:48
Есть такие особенности программы, с которыми жить нельзя, как этот вот случай, или через раз (ато и без раза) неработающие ДБКомбобоксы - пока не заменил на комбобоксы обычные с ручным (программным) забитием данных - работать было невозможно. Возможно конечно, это мне так на них везет.. люди же прогают как - то..
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
20.03.2008, 14:37
ну я вообще-то тоже сам руками заполняю комбобоксы, потому что заточенные под Бд работают странно местами, только в сущности ты сам делаешь таким образом ДБКомбобоксы, а не пофиг как, главное - результат и надежность, что глючит в априори - просто обхожу
0
Запарившийся
24.03.2008, 05:41
Значит не у одного меня проблемы с ДБКомбобоксами.. Согласен, что по сути выходит то же самое, к тому же уже давно создал стандартные функции заполнения и превращения обычных комбобоксов в ДБ.. Однако бесит факт, что стандарт безбожно глючит и комрады - борлондовцы выпускают ненужный сырой компонет, который есть только формально.. Ничего сложного же было оттестить и написать нечто рабочее..
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
24.03.2008, 09:24
да есть подозрение, что это и не их компоненты, просто выкупили права их юзать да включили в стандартную комплектацию... хотя есть толковые команды по созданию компонентов, но их как всегад, мало...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.03.2008, 09:24
Помогаю со студенческими работами здесь

Помогите разобраться с библиотеками
#include &lt;vcl.h&gt; #include &lt;math.h&gt; #pragma hdrstop #include &quot;Main.h&quot; #include &lt;stdio.h&gt; ...

OLE-Container, помогите разобраться
Доброго времени суток всем! Сразу к делу. Вопрос вот в чем: как управлять объектом внутри OLE-контейнера? (конкретно- у меня обект...

Помогите разобраться ошибкой Convert
Не найден псевдоним &quot;Convert&quot; что делать? Может какой нибудь класс надо добавить?

Помогите разобраться с конструктором формы
В заголовке файла Unit.cpp в блоке private: я добавляю массив: class TForm1 : public TForm { __published: // IDE-managed...

Помогите разобраться с Borland cc++ 5.5 (FreeCommandLineTools)
Как в нём собирать ехешники от 4Кб


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru