|
|
|
список User's InterBase
|
|||
|---|---|---|---|
|
#18+
Необходимо получить список пользователей (всех ользователей а не только активных в данный момент) зарегестрированных в InterBase\FireBird как это сделать с помощью Builder C++ (Inter Base) или API? Про БД FireBird security.fdb знаю, но хотелось бы через API... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2005, 13:02 |
|
||
|
список User's InterBase
|
|||
|---|---|---|---|
|
#18+
BorrНеобходимо получить список пользователей (всех ользователей а не только активных в данный момент) зарегестрированных в InterBase\FireBird как это сделать с помощью Builder C++ (Inter Base) или API? Про БД FireBird security.fdb знаю, но хотелось бы через API... Через API драйвера доступа, что-ли? Курсоры ручками на низком уровне пооткрывать? Или Вы думаете что есть какое-то виндовое апи для получения какой инфы от InterBase\FireBird ? авторПро БД FireBird security.fdb знаю, но хотелось бы через API... Чем не устраивает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2005, 13:12 |
|
||
|
список User's InterBase
|
|||
|---|---|---|---|
|
#18+
API драйвера доступа - длино я написал API имея ввиду именно их а не вин API. А security.fdb не устраивает тем, что нужно указывать к ней путь, тогда как узнать где она лежит на сервере? Если у вас есть пример как это сделать с помощью API драйвера firebird :) я буду вам очень благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2005, 13:50 |
|
||
|
список User's InterBase
|
|||
|---|---|---|---|
|
#18+
BorrAPI драйвера доступа - длино я написал API имея ввиду именно их а не вин API. А security.fdb не устраивает тем, что нужно указывать к ней путь, тогда как узнать где она лежит на сервере? Если у вас есть пример как это сделать с помощью API драйвера firebird :) я буду вам очень благодарен Hint: тут есть форум по InterBase, Firebird, Yaffil . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2005, 13:52 |
|
||
|
список User's InterBase
|
|||
|---|---|---|---|
|
#18+
страница 231 ApiGuide.pdf В форум IBase с такими вопросами лучше не ходи, ...отправят доку читать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2005, 14:01 |
|
||
|
список User's InterBase
|
|||
|---|---|---|---|
|
#18+
nik_x там огромный пример с кучей case'ов я с ним уже 3-й день бьюсь мне нужно только список пользователей ты не можешь привести работающий пример?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2005, 18:24 |
|
||
|
список User's InterBase
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2005, 06:53 |
|
||
|
список User's InterBase
|
|||
|---|---|---|---|
|
#18+
Это ? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2005, 06:54 |
|
||
|
список User's InterBase
|
|||
|---|---|---|---|
|
#18+
Спасибо всем. Я работаю с IB впервые, нашел, не без вашей помощи, у билдера есть компонент входящий в его поставку Inter Base Admin там элемент IBSecurityService, с помощью его все решаеться просто [CODE] IBSecurity->Active = true; IBSecurity->DisplayUsers(); for(int i=0;i<IBSecurity->UserInfoCount;i++) SG->Cells[2][i+1] = IBSecurity->UserInfo ->UserName; [\CODE] Жаль но с API я так и не разобрался -- не хочетработать и все и слишком сложно для меня :( [CODE] char *user = "SYSDBA", *password = "masterkey", /* see security tip below */ *service_name = "localhost"; ISC_STATUS status[20]; isc_svc_handle *service_handle = NULL; char spb_buffer[128], *spb = spb_buffer; unsigned short spb_length; *spb++ = isc_spb_version; *spb++ = isc_spb_current_version; *spb++ = isc_spb_user_name; *spb++ = strlen(user); strcpy(spb, user); spb += strlen(user); *spb++ = isc_spb_password; *spb++ = strlen(password); strcpy(spb, password); spb += strlen(password); spb_length = spb - spb_buffer; /*if (isc_service_attach(status, 0, service_name,&service_handle, spb_length, spb_buffer)) { isc_print_status(status); exit(1); }*/ int k=0; //char spb_buffer[6], *spb = spb_buffer; char request_buffer[] = { isc_info_svc_server_version, isc_info_svc_implementation, isc_info_svc_get_licensed_users, isc_info_svc_user_dbpath, isc_info_svc_get_env, isc_info_svc_get_env_lock, isc_info_svc_get_env_msg, isc_info_svc_get_license, isc_info_svc_svr_db_info, isc_info_svc_version, isc_info_svc_get_config}; char result_buffer[1024], *p = result_buffer; *spb++ = isc_info_svc_timeout; ADD_SPB_NUMERIC(spb, 60); /* 1 minute timeout */ /*if (isc_service_query (status,&service_handle,\ NULL,\ spb - spb_buffer, spb_buffer,\ sizeof(request_buffer), request_buffer,\ sizeof(result_buffer), result_buffer)) { isc_print_status(status); isc_service_detach(status, &svc_handle); return; }*/ do { while (*p != isc_info_flag_end) { ISC_USHORT len, loop; *p++=isc_spb_sec_username; len = (ISC_USHORT); isc_vax_integer(p, sizeof(ISC_USHORT)); p += sizeof (ISC_USHORT); strncpy (buf, p, len); p += len; buffer[len] = 0; SG->Cells[1][k] = buffer; k++; //printf ("Username: %s\n", buffer); loop -= (len + sizeof(ISC_USHORT)+1); break; } while (*p != isc_info_flag_end); break; } } } while (*p); //isc_service_detach(status, &service_handle); } [\CODE] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2005, 08:58 |
|
||
|
список User's InterBase
|
|||
|---|---|---|---|
|
#18+
Сильно не вникал, но сходу: *service_name = "service_mgr" <- для локального хоста должно быть так *service_name = "host:service_mgr" <- для удаленного - так Если разобраться с API интерес все-таки есть, пиши на мыло, какой-нибудь примерчик сооружу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2005, 09:30 |
|
||
|
список User's InterBase
|
|||
|---|---|---|---|
|
#18+
Borr Жаль но с API я так и не разобрался -- не хочетработать и все и слишком сложно для меня :( Нашел в своих загашниках. Ниже приведенное чудо работало для IB 6.0 и всех FB, правда под Линуксом. Код: 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. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2005, 11:23 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33295824&tid=2032709]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 243ms |
| total: | 440ms |

| 0 / 0 |
