Kot
Гость
|
|
« : 05-08-2003 08:48 » |
|
Народ объясните как сделать сабж поподробнее а то чтото ничего ни получается
|
|
|
Записан
|
|
|
|
Антон (LogRus)
|
|
« Ответ #1 : 05-08-2003 09:04 » |
|
А по подробней!
|
|
|
Записан
|
Странно всё это....
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #2 : 05-08-2003 09:25 » |
|
Интересует - что такое DSN - знаю DNS
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
Антон (LogRus)
|
|
« Ответ #3 : 05-08-2003 09:37 » |
|
DSN – Data Source Name, т.е. имя источника данных в винде еще файлы такие есть если создать фаил пустой с таким раширением его можно бедет потом в проводнике поправить и прописать пам пути к источникам по средствам всяких менюшек
|
|
|
Записан
|
Странно всё это....
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #4 : 05-08-2003 09:41 » |
|
А - так это чисто Билдеровская фича - или майкрософтовская
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
Антон (LogRus)
|
|
« Ответ #5 : 05-08-2003 09:47 » |
|
Мелкомяглая это таксказать свойство ODBC и файлики для него в принцепе! Но я их использовал в дельфи и билдере + ADO как файлы конфигурации пути к база писал. полезная весчь!
|
|
|
Записан
|
Странно всё это....
|
|
|
sh_m
Гость
|
|
« Ответ #6 : 05-08-2003 10:19 » |
|
Если я правильно тебя понял, то это: TSession->GetAliasNames. В help-e есть пример использования.
|
|
|
Записан
|
|
|
|
Антон (LogRus)
|
|
« Ответ #7 : 05-08-2003 11:08 » |
|
|
|
|
Записан
|
Странно всё это....
|
|
|
Asan
Гость
|
|
« Ответ #8 : 05-08-2003 11:31 » |
|
Ну а если на API, не подойдет?
// #include <iostream> #include <sql.h> #include <sqlext.h> #include <sqltypes.h> #include <odbcss.h>
int main() { SQLRETURN ret; SQLSMALLINT sz1 = 0, sz2 = 0; SQLHANDLE hEnv;
ret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hEnv); if (ret != SQL_SUCCESS) { /*...*/ }
ret = SQLSetEnvAttr(hEnv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER) SQL_OV_ODBC3, 0); if (ret != SQL_SUCCESS) { /*...*/ }
SQLCHAR serv[SQL_MAX_DSN_LENGTH + 1], desc[SQL_MAX_DSN_LENGTH + ];
ret = SQLDataSources(hEnv, SQL_FETCH_FIRST_SYSTEM, serv, sizeof(serv), &sz1, desc, sizeof(desc), &sz2);
while (ret != SQL_NO_DATA) { std::cout<<serv<<' '<<resc<<"\n"; ret = SQLDataSources(hEnv, SQL_FETCH_FIRST_SYSTEM, serv, sizeof(serv), &sz1, desc, sizeof(desc), &sz2); }
SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
return 0; }
|
|
|
Записан
|
|
|
|
Антон (LogRus)
|
|
« Ответ #9 : 05-08-2003 11:37 » |
|
Ну а если на API, не подойдет?
ret = SQLDataSources(hEnv, SQL_FETCH_FIRST_SYSTEM, Это разве не API Я на их ссылки и давал. А ваще классно ответил! Я бы так не смог! Быстро дешево сердито!
|
|
|
Записан
|
Странно всё это....
|
|
|
Asan
Гость
|
|
« Ответ #10 : 05-08-2003 12:01 » |
|
Это разве не API Я на их ссылки и давал. А ваще классно ответил! Я бы так не смог! Быстро дешево сердито!
Скорость, дешивизна и сердитость - вот наш девиз А на Билдере как - не знаю..
|
|
|
Записан
|
|
|
|
Антон (LogRus)
|
|
« Ответ #11 : 05-08-2003 12:09 » |
|
Билдер что уже не умеет c API работать!
|
|
|
Записан
|
Странно всё это....
|
|
|
sh_m
Гость
|
|
« Ответ #12 : 05-08-2003 12:11 » |
|
Буилдер с ODBC напрямую не работает(по крайне мере стандартные компоненты), только через BDE. В BDE создаются копии DSN из ODBC. Из-за этого даже глюки бывают: возможна ситуация (не помню при каких именно условиях она возникает), когда в ODBC настройки изменились, а в BDE все осталось по-старому. К тому же в BDE можно создавать свои DSN, которые ODBC-шные средства видеть не будут. Насчет того, что отвечаю не очень подробно - просто воду зря лить не хочу. Будут дополнительные вопросы, отвечу подробнее. Да и спрашивать нужно поконкретнее. Kotведь пока ничего не конкретизировал, может у нас вообще разговор не в ту строну ушел
|
|
|
Записан
|
|
|
|
sh_m
Гость
|
|
« Ответ #13 : 05-08-2003 12:14 » |
|
Билдер что уже не умеет c API работать! И с API и с MFC работает, может еще и на швейной машинке
|
|
|
Записан
|
|
|
|
Антон (LogRus)
|
|
« Ответ #14 : 05-08-2003 12:19 » |
|
Кстати о BDE я бы его использовать не рекомендовал из-за его некоторой кривости и кроме того по слухам сам борланд хотел от него отказатся лично я предпочитаю использовать ADO
|
|
|
Записан
|
Странно всё это....
|
|
|
Asan
Гость
|
|
« Ответ #15 : 05-08-2003 12:30 » |
|
Кстати о BDE я бы его использовать не рекомендовал из-за его некоторой кривости и кроме того по слухам сам борланд хотел от него отказатся лично я предпочитаю использовать ADO Я тоже давным давно ADO использую. BDE давно пора на свалку истории. Нафиг оно нужно, только лишние заморочки.
|
|
|
Записан
|
|
|
|
sh_m
Гость
|
|
« Ответ #16 : 05-08-2003 12:33 » |
|
Кстати о BDE я бы его использовать не рекомендовал из-за его некоторой кривости и кроме того по слухам сам борланд хотел от него отказатся лично я предпочитаю использовать ADO Не то что бы BDE сильно кривой, просто DSN-ы вообще штука неудобная. Все настройки для доступа к БД должны храниться в самом приложении. Так его распространять удобнее. Скопировал exe-шку, пару dll-ок к ней, и все работает. И не нужно на каждой машине настраивать ODBC-BDE. С ADO я особо не работал. Но там вроде бы можно настроить коннект прямо из приложения, указав нужный драйвер и соответственно обойтись без DSN-ов. У Borland-a есть новая технология доступа к БД - dbExpress. Никаких BDE-ODBC, вообще реестр не трогает. Вот только серверов БД пока маловато поддерживает.
|
|
|
Записан
|
|
|
|
Антон (LogRus)
|
|
« Ответ #17 : 05-08-2003 13:39 » |
|
Я тоже ADO использую. И вот ADO умеет брать файлы типа DSN и использовать их в качестве строки подключения ИМХО очень удобная вещь! Кстати вроде MS гразилась запретить использовать абривеатуру ADO в Borlande и он какбы весь интерфейс ADO должен быть спрятать в компоненты с другим именем!
|
|
|
Записан
|
Странно всё это....
|
|
|
Kot
Гость
|
|
« Ответ #18 : 06-08-2003 09:08 » |
|
Прошу прощения господа что долго ни появлялся.......пример от Asan я знаю собственно с ним и затык Билдер матерится говорит SQL.... функции незнает где взять я к ниму как говорит ся и так и эток а он ни в какую
|
|
|
Записан
|
|
|
|
Asan
Гость
|
|
« Ответ #19 : 06-08-2003 11:08 » |
|
Прошу прощения господа что долго ни появлялся.......пример от Asan я знаю собственно с ним и затык Билдер матерится говорит SQL.... функции незнает где взять я к ниму как говорит ся и так и эток а он ни в какую А как матерится то? Ошибки при линковке выскакивают или что?
|
|
|
Записан
|
|
|
|
Kot
Гость
|
|
« Ответ #20 : 07-08-2003 02:43 » |
|
Да ошибки выдает линковщик
|
|
|
Записан
|
|
|
|
Asan
Гость
|
|
« Ответ #21 : 07-08-2003 05:13 » |
|
Да ошибки выдает линковщик Что то типа "Unresolved external symbol ..."? Значит, надо добавить в проект .lib - ы. Не знаю, у меня VS .NET, все либы для ODBC похоже по умолчанию добавляются. На билдере как, не знаю, но попробуй добавить odbc32.lib, odbccp32.lib
|
|
|
Записан
|
|
|
|
sh_m
Гость
|
|
« Ответ #22 : 07-08-2003 13:48 » |
|
Да ошибки выдает линковщик http://www.codenet.ru/db/odbc/Здесь описано как подключать ODBC-шные библиотеки к Борланду Исходный код Сначала несколько замечаний. В C++Builder есть заголовочные файлы для работы с ODBC. Нам нужно два из них - odbcinst.h и sql.h. Добавьте строки...
|
|
|
Записан
|
|
|
|
|