|
|
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
Двигаюсь по пункам моего плана. (См. ниже) 1. Подключение к SQL. Прямо в документации все описано подробно. Подключаемся и все работает. Тем кто в первые столкнется с реализацией хелпа написанного в документации по MS SQL 7.0 хочу предостеречь: Сам сампл: #define DBNTWIN32 #include <stdio.h> #include <windows.h> #include <sqlfront.h> #include <sqldb.h> // Forward declarations of the error handler and message handler. int err_handler(PDBPROCESS, INT, INT, INT, LPCSTR, LPCSTR); int msg_handler(PDBPROCESS, DBINT, INT, INT, LPCSTR, LPCSTR, LPCSTR, DBUSMALLINT); main() { PDBPROCESS dbproc; // The connection with SQL Server. PLOGINREC login; // The login information. DBCHAR name[100]; DBCHAR city[100]; // Install user-supplied error- and message-handling functions. dberrhandle (err_handler); dbmsghandle (msg_handler); // Initialize DB-Library. dbinit (); // Get a LOGINREC. login = dblogin (); DBSETLUSER (login, "my_login"); DBSETLPWD (login, "my_password"); DBSETLAPP (login, "example"); // Get a DBPROCESS structure for communication with SQL Server. dbproc = dbopen (login, "my_server"); // Retrieve some columns from the authors table in the // pubs database. // First, put the command into the command buffer. dbcmd (dbproc, "SELECT au_lname, city FROM pubs..authors"); dbcmd (dbproc, " WHERE state = 'CA' "); // Send the command to SQL Server and start execution. dbsqlexec (dbproc); // Process the results. if (dbresults (dbproc) == SUCCEED) { // Bind column to program variables. dbbind (dbproc, 1, NTBSTRINGBIND, 0, name); dbbind (dbproc, 2, NTBSTRINGBIND, 0, city); // Retrieve and print the result rows. while (dbnextrow (dbproc) != NO_MORE_ROWS) { printf ("%s from %s\n", name, city); } } // Close the connection to SQL Server. dbexit (); return (0); } int err_handler (PDBPROCESS dbproc, INT severity, INT dberr, INT oserr, LPCSTR dberrstr, LPCSTR oserrstr) { printf ("DB-Library Error %i: %s\n", dberr, dberrstr); if (oserr != DBNOERR) { printf ("Operating System Error %i: %s\n", oserr, oserrstr); } return (INT_CANCEL); } int msg_handler (PDBPROCESS dbproc, DBINT msgno, INT msgstate, INT severity, LPCSTR msgtext, LPCSTR server, LPCSTR procedure, DBUSMALLINT line) { printf ("SQL Server Message %ld: %s\n", msgno, msgtext); return (0); } У меня VC отругался на dbbind (dbproc, 1, NTBSTRINGBIND, 0, name); пришдось додумать и заменить на dbbind (dbproc, 1, NTBSTRINGBIND, 0, (LPBYTE) name); вторую строку аналогично. И в закладках Project -> Settings -> Link в общий перечень добавьте ntwdblib.lib И пример будет работать. Да к стате. Если хотите использовать авторизацию NT кометарьте строчки /* DBSETLUSER (login, "my_login"); DBSETLPWD (login, "my_password"); DBSETLAPP (login, "example");*/ Удачи. Moth. moth@mail.primorye.ru А я пошел разбираться как вернуть универсальный CRecordSet и как правильно рисовать Grid. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2001, 02:42 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
Не советую использовать DB-Lib. Пользуйтесь ODBC или ADO - проще будет понимать другие клиентские платформы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2001, 15:14 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
Что именно ты хочешь понять в других программах???? Если прога клиент сервер, то вся логика на сервере... Moth ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2001, 03:04 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
DB-Lib "заморозили" на уровне v.6.5. Все новое, что вышло в v.7.0 и 8.0 не входит в DB-Lib (например, новые типы данных и способы их обработки). Это конечно печально, поскольку DB-Lib быстрый, но объективная реальность такова, что Microsoft избрал в качестве стратегической линии OLE DB. Ну ODBC - это industry standart и они его также поддерживают. В Internet-приложениях как правило используется ADO, да и средства быстрой разработки клиентской части также в основном заточены на ADO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2001, 13:05 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
А мне понравилось. Беру CImageList + DBLib и получается все отменно и интерфейс и скорость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2001, 02:24 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
При линковке пишет ошибка в файле ntwdblib.dll. Может все же подключать то ntwdblib.dll, а не ntwdblib.lib <- такого файла у меня вообще нет и не было никогда, даже с MS SQL 2000 Client connectivity. Если есть, то где скачать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2002, 03:32 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
к верхнему письму: //------------------------------------------------------------- Linking... ntwdblib.dll : fatal error LNK1136: invalid or corrupt file Error executing link.exe. 2.exe - 1 error(s), 0 warning(s) //------------------------------------------------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2002, 03:40 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
Пиши на мыло вышлю. А вообщето этот файл ставиться вместе с 7.0 сервером. Посмотри на сервере этот файл. Если что вышлю. Link естественно .lib ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2002, 01:00 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
Спасибо Moth, у меня все заработало!!! Только вот не знаю где можно найти материалы по db-lib функциям и примеры. Может ты подскажешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2002, 02:26 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
В Sql-Book_OnLine C:\WIN98\HH.EXE C:\MSSQL7\BOOKS\SQLBOL.CHM У меня так. Как будет минутка, более подробно и по русский на www.firststeps.ru Moth. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2002, 22:33 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
Что не нашел в firststeps.ru раздела по db-lib ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2002, 02:12 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
Moth и все остальные!!! Где можно найти исчерпывающие материалы по Db-Lib в Инете??? Плз, дайте ссылку. В Firststeps.ru такого раздела не нашел. А SQL 7 под рукой нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2002, 04:25 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
Все чем владею, я нашел в Book on line которая идет вместе с сервером. Moth. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2002, 05:47 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
Написал класс-обертку для DB-lib на VC и COM-объект (ATL) на его основе. Теперь работаю и из Visual C++ и из Visual Basic. Легко, удобно и быстро. Если что, то по: csvboss@mail.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2002, 11:14 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
Как это все работает!!! А я вот хочу юзать dbserverenum (список серверов). Пишу все как в примере из BOL, а в ответ: Linker error: Unresolved external function _dbserverenum ... P.S. пишу на Билдере и у него есть свои зоголовки с такими же именами, но другие размеры и даты. У кого есть опыт борьбы поделитесь!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 15:17 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Помогите с решением проблемы: имеется SYBASE. Программа пишется на Builder C++. Осуществляются запросы SQL к базе. Если выполнение запроса не требует много ресурсов (временных и т.д.), то он выполняется успешно. Используется TQuery. В другом случае верный трудоемкий запрос (корректность его выполнения проверялась при помощи SQL Explorer в Builder C++ ) - не выполняется, виснет программа. Было желание использовать библиотеку ntwdblib.lib.Только можно ли с SYBASE? Не подскажете?! И если можно, то как?А то пишет "Unresolved external 'dbinit'(=имя функции, что пытается использоваться) from ...(=путь к проекту)*.obj". Очень прошу помочь решить проблему! МУчаюсь уже неделю....... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 14:18 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
В настройках проекта добавить библиотеку к линковщику. ПС: А с прошлого века топик не нашелся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 14:25 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
AkhВ настройках проекта добавить библиотеку к линковщику. А библиотека ntwdblib.lib уже подключена к проекту. Проясню ситуацию. Может, я что неверно делаю: работаю с SYBASE, и, просмотрев examples, включаю файлы: #include <stdio.h> #include <stdlib.h> #include <sybfront.h> #include <sybdb.h> #include <syberror.h> При таком раскладе и появляется моя ошибка. А пример, приведенный в этом топике, для MS SQL и включаются: #define DBNTWIN32 #include <sqlfront.h> #include <sqldb.h> #include <stdio.h> Если включаю последние указанные мной файлы - то инициализация библиотеки происходит. далее - функции if( ( dbinit() ) == NULL ) goto Error; if( ( login = dblogin() ) == NULL ) goto Error; if( ( DBSETLUSER(login, Login.c_str()) ) == FAIL ) goto Error; if( ( DBSETLPWD(login, Pass.c_str()) ) == FAIL ) goto Error; if( ( DBSETLVERSION(login, DBVER60) ) == FAIL ) goto Error; выполняются потом if( ( dbproc = dbopen(login, Server.c_str()) ) == FAIL ) goto Error; не срабатывает. Ошибка: "DB-Library error: Unable to connect: SQL Server is unavaliable or does not exist. Unable to connect: SQL Server does not exist or network access denied" потом пишет "Operating-system error: ConnectionOpen(Connect())" Это меня и смутило, что надо подключать не те инклуды..... Вопрос: проблема может быть с неверным паролем или логином или именем сервера? Login - точно верен Pass - точно верен Server - здесь испробовано и имя сервера, и алиаса (для базы на SYBASE сделан алиас, пароль и логин указываю алиаса) Base - имя базы (той, для которой был сделан алиас) - верно пишу точно В чем проблема? ПС: А с прошлого века топик не нашелся? Просто не хотелось заводить новую тему, так как похожая уже существует...Но хотя было мало надежды, что кто-то ответит:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 17:56 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
ой! с оформлением предыдущего сообщения ошибочка вышла ..первый раз извиняйте........ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 17:58 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
onnly... С этими функциями и БД не работал. Так что могу только предположить, что сервак на машине не стоит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 18:05 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
Akh onnly... С этими функциями и БД не работал. Так что могу только предположить, что сервак на машине не стоит? Сервак стоит не на моей машине. Отсюда и алиасы вроде нужны... а.........видмо вот и не указать имя сервака, а алиас не годится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 18:09 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
имею в виду имя сервака так просто не указать....... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 18:10 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
Просто сказали, что с этой библиотекой вроде надежнее осуществлять запросы и, несмотря на время выполнения, запрос будет сделан. Вот у меня в SQL Explorer запрос медленно, но выполняется, а в Builder как загонишь - все виснет - и тут и сказке конец ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2006, 18:13 |
|
||
|
DB_Library
|
|||
|---|---|---|---|
|
#18+
Понятно: желающих помочь особо нет... НО решение проблемы было найдень мной - в верном указании имени сервера - необходимо было добавить адрес. Теперь есть другой вопрос - может кто отзовется??????????????????????? В запросе к серверу используются несколько баз. И, если делать сравнение или приравнивание к примеру поля таблицы одной базы к ...другой - то запрос срабатывает. А если добавить в этот запрос еще пару строк, где обращение тока к ОДНОЙ ИЗ ИСПОЛЬЗУЕМЫХ баз, то ошибка - "DB-Library Error: Possible network error: Write to SQL Server Failed. General network error" "Operating-system error: ConnectionRead(recv())"" "DB-Library Error: DBPROCESS is dead or not enabled" Предполагаю проблему - происходит дисконнект от сервера при выполнении запроса. Вопрос: что не так? Если ЭТОТ ТОЧНО ТАКОЙ ЖЕ ЗАПРОС легко срабатывает в SQL Explorer в Builder C++ Помогите!!!!!!!!!!!!!!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2006, 14:01 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34178563&tid=2029873]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 455ms |

| 0 / 0 |
