|
|
|
isc_attach_database
|
|||
|---|---|---|---|
|
#18+
Hi All! Я новичок и в C++ и в Interbase. Если кто-то может мне что-то подсказать - буду премного благодарен. Есть функция со следующим кодом: STDMETHODIMP TdbBridgeImpl::SetDBName(BSTR Name) { long status_vector[20]; /* status vector */ char dbName[100]; char *uname = "SYSDBA"; char *upass = "masterkey"; char *str = "d:\\Progra~1\\borland\\interbase\\examples\\database\\EMPLOYEE.GDB"; dpb = dpb_buffer; *dpb++ = isc_dpb_version1; *dpb++ = isc_dpb_num_buffers; *dpb++ = 1; *dpb++ = 90; dpb_length = dpb - dpb_buffer ; int i; for (i = 0; i<=100;i++) dbName = Name; isc_expand_dpb(&dpb, (short ISC_FAR *) &dpb_length, isc_dpb_user_name, uname, isc_dpb_password, upass, NULL); isc_attach_database(status_vector, strlen(str), str, &db1,0,0L); if (status_vector[0] == 1 && status_vector[1]) return S_FALSE; else return S_OK; } В отладчике после вызова isc_attach_database(....) status_vector[0] = 1 status_vector[1] =335544472(в Lang. ref написано что Your user name and password are not defined. Ask your database administrator to set up an InterBase login. при просмотре dpb я в нем вижу и username и password. Вопроса 2. 1. Что мне бедненькому делать(Если быть более корректным, то где моя ошибка). 2. Можно ли через API вызвать окно login к базе данных. Заранее благодарен. Допускаю, что ошибка связанна с моей неграмотностью, но уже не вижу где рыться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 03:32 |
|
||
|
isc_attach_database
|
|||
|---|---|---|---|
|
#18+
Не знаю поможет или нет, но в любом случае, ОБЯЗАТЕЛЬНО вставить строку dpb = dpb_buffer перед вызовом isc_expand_dpb >isc_expand_dpb(&dpb, (short ISC_FAR *) &dpb_length, >isc_dpb_user_name, uname, >isc_dpb_password, upass, NULL); P.S. Первый раз вижу человека, работающего под виндами, который морочится с API :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 09:52 |
|
||
|
isc_attach_database
|
|||
|---|---|---|---|
|
#18+
Вот рабочий кусок кода. Лишнее выбросите. Код: plaintext 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. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 10:04 |
|
||
|
isc_attach_database
|
|||
|---|---|---|---|
|
#18+
P.S. Первый раз вижу человека, работающего под виндами, который морочится с API :) А если Service манагера нет? Как тогда версию сервака поличить? Юзеров поманагерить? _________________ "Hello, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 10:07 |
|
||
|
isc_attach_database
|
|||
|---|---|---|---|
|
#18+
>А если Service манагера нет? А что подразумевается под этим словом - Service манагер? Это что-то особое, виндовое? >Как тогда версию сервака поличить? Любую или почти любую утилиту с параметром -z. Например : gfix -z Выдает: gfix version LI-V1.5.0.4027 Firebird 1.5 Release Candidate 7 >Юзеров поманагерить? gsec -user sysdba -password masterkey -add newuser -pw newpassword Ну и так далее... Или при отсутствии Service манагера эти вещи также отсутствуют? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 12:37 |
|
||
|
isc_attach_database
|
|||
|---|---|---|---|
|
#18+
В Delphi 7 есть компонент TIBDatabaseInfo (надо только установить обновление IBX x08). Думаю что BCB тоже должно быть ... IBDatabaseInfo1.Version ===> LI-V1.5.0.4027 Firebird 1.5 Release Candidate 7 Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 13:52 |
|
||
|
isc_attach_database
|
|||
|---|---|---|---|
|
#18+
>В Delphi 7 есть компонент TIBDatabaseInfo (надо только установить обновление IBX x08). Думаю что >BCB тоже должно быть ... Вот и я о том же! У человек BCB и Delphi должны быть под рукой, а он родные API пытается использовать. Противоестественно как то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 14:00 |
|
||
|
isc_attach_database
|
|||
|---|---|---|---|
|
#18+
А что подразумевается под этим словом - Service манагер? Это что-то особое, виндовое? Service Manager не только под виндой. Под Linux есть. А FB 1.0.2.908 CS на FreeBSD 4.8, 4 example, - нет. Любую или почти любую утилиту с параметром -z. Очень умно. А из своей проги? Компоненты (вкладка InterBase Admin), позволяющие проделать выше сказанное, работают через Service Manager. _________________ "Hello, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 15:08 |
|
||
|
isc_attach_database
|
|||
|---|---|---|---|
|
#18+
DnicoВ Delphi 7 есть компонент TIBDatabaseInfo У меня он тоже есть. Ну а как юзеров-то манагерить? _________________ "Hello, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 15:37 |
|
||
|
isc_attach_database
|
|||
|---|---|---|---|
|
#18+
Нужно установить обновление IBX (там новые компоненты) TIBDatabaseInfo Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 15:37 |
|
||
|
isc_attach_database
|
|||
|---|---|---|---|
|
#18+
Для работы с юзерами есть UDF RFUNC Add_User Modify_User Delete_User Best regards, Dnico. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 15:42 |
|
||
|
isc_attach_database
|
|||
|---|---|---|---|
|
#18+
>> А что подразумевается под этим словом - Service манагер? Это что-то особое, виндовое? >Service Manager не только под виндой. Под Linux есть. А FB 1.0.2.908 CS на FreeBSD 4.8, 4 example, - нет. Ну вы меня совсем заинтриговали. Я уже по Линухом лет 5 наверное, но первый раз слышу о таинственном Service Manager. Что это такое все таки? >> Любую или почти любую утилиту с параметром -z. >Очень умно. А из своей проги? О боги.... Воистину счастье - это когда тебя понимают... Именно это и имелось ввиду, что под виндой, для разработки подобных программ , уже есть все необходимые компоненты, использовать которые гораздо проще чем самому морочиться с API . Если же надо что-то быстро посмотреть или сделать, то для этого вполне можно использовать всякие gsec, gfix и т.д. , что будет опять таки проще чем писать свои проги с использованием API. Я не говорю что использование API это плохо или нафиг не нужно - просто выражаю удивление, поскольку сам писал подобные проги через API - сразу скажу удовольствие (для меня) ниже среднего. >Компоненты (вкладка InterBase Admin), позволяющие проделать выше сказанное, работают через >Service Manager. P.S. Наверное все флеймы возникают из-за недопонимания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2004, 17:46 |
|
||
|
isc_attach_database
|
|||
|---|---|---|---|
|
#18+
Спасибо всем! Насчет того, что не тем пользуюсь, так это от неграмотности. Мне просто это все надо впихнуть в activex, поэтому пошел вот так. Попробую - напишу результаты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2004, 08:42 |
|
||
|
isc_attach_database
|
|||
|---|---|---|---|
|
#18+
А как все-такки насчет второго вопроса? P.S. API reference - единственное человеческое описание, которое оказалось доступным, а вообще стоит задача поработать с IB базой из 1с. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2004, 08:52 |
|
||
|
isc_attach_database
|
|||
|---|---|---|---|
|
#18+
>А как все-такки насчет второго вопроса? Да вообще-то никто не мешает создать диалоговое окно для ввода имени пользователя, пароля и роли, а потом заекспандить это дело через isc_expand_dpb и передать соответствующий dpb в isc_attach_database. А вообще для прикладных прог наверное лучше использовать IBX . >P.S. API reference - единственное человеческое описание, которое оказалось доступным, Ну вообще то там в связке есть еще Developer's Guide, в котором есть глава Intorduction to IBX >а вообще стоит задача поработать с IB базой из 1с. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2004, 09:17 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32378956&tid=1579375]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
173ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 498ms |

| 0 / 0 |
