powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / interbase c++
13 сообщений из 13, страница 1 из 1
interbase c++
    #32233341
relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на vc++ надо написать прогу, которая бы позваляла в interbase добавлять/удалять/... пользователей.. короче администрирование.
я добавил файл gds32_ms.lib, подключил ibase.h,
использую функцию isc_add_user, но параметры, которые в нее передаются, не содержат имени базы...
что мне надо сдалать чтобы правильно создать пользователя?
буду очень признателен, если сможете кто нить на емейл выслать, желательно пример небольшой.
xector@mail.ru
...
Рейтинг: 0 / 0
interbase c++
    #32233349
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для тех кто в танке(и не умеет читать исходники)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
typedef struct {
    short  sec_flags;		      /* which fields are specified */ 
    int    uid;			      /* the user's id */ 
    int	   gid;			      /* the user's group id */ 
    int    protocol;		      /* protocol to use for connection */ 
    char   ISC_FAR *server;           /* server to administer */ 
    char   ISC_FAR *user_name;        /* the user's name */ 
    char   ISC_FAR *password;         /* the user's password */ 
    char   ISC_FAR *group_name;       /* the group name */ 
    char   ISC_FAR *first_name;	      /* the user's first name */ 
    char   ISC_FAR *middle_name;      /* the user's middle name */ 
    char   ISC_FAR *last_name;	      /* the user's last name */ 
    char   ISC_FAR *dba_user_name;    /* the dba user name */ 
    char   ISC_FAR *dba_password;     /* the dba password */ 
} USER_SEC_DATA;
int ISC_EXPORT isc_add_user (ISC_STATUS ISC_FAR *, USER_SEC_DATA *);
...
Рейтинг: 0 / 0
interbase c++
    #32233354
relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не ну че в этом ответе, я знаю эту структуру из ibase.h и прототип функции,
только почему я в танке??? я че это дает? в структуре нет данных о базе..
...
Рейтинг: 0 / 0
interbase c++
    #32233356
relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ISC_STATUS isc_status[20];
USER_SEC_DATA user_data;

user_data.protocol = sec_protocol_local;
user_data.server = "localhost";
user_data.user_name = "qwerty";
user_data.password = "qwerty";
user_data.first_name = "qwe";
user_data.middle_name = "qwe";
user_data.last_name = "qwe";
user_data.dba_user_name = "SYSDBA";
user_data.dba_password = "masterkey";
user_data.sec_flags = sec_password_spec | sec_dba_user_name_spec
|sec_dba_password_spec |sec_first_name_spec |sec_last_name_spec;


isc_add_user(isc_status, &user_data);
чего сдесь не хватает???
и как привязать сюда isc_attach_database?
...
Рейтинг: 0 / 0
interbase c++
    #32233359
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не раздражай меня :-)
это ли тебе не информация о сервере :-)
Код: plaintext
1.
2.
3.
4.
    char   ISC_FAR *server;           /* server to administer */ 
    char   ISC_FAR *user_name;        /* the user's name */ 
    char   ISC_FAR *password;         /* the user's password */ 

...
Рейтинг: 0 / 0
interbase c++
    #32233362
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
извини, я вижу ты и сам все правильно понял. а зачем тебе аттач датабэйз?
я так понимаю, что эта функция сама все делает...
...
Рейтинг: 0 / 0
interbase c++
    #32233452
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одна тонкость....
в IB право на подключение и регистрация пользователей происходит не в БД, а на сервере. Могу даже поделится секретом, в базе данных isc4.gdb
вот только напрямую писать в эту базу ничего не рекомендуется...
...
Рейтинг: 0 / 0
interbase c++
    #32239876
relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я имел в виду что там нет пути до isc.gdb, то что там прописан сервер это понятно... а вообще я просто щас сдела из дельфи , наверное коряво и неправильно, но работает, просто заношу запись в системную таблицу USERS и все.
только вот одно но , почему командой grant я не могу раздать права.
запрос делаю типа grant all on <table_name> to <user_name> , выполняется нормально без ошибок, но результата нету..
может кто нить знает в чем сдесь дело?
...
Рейтинг: 0 / 0
interbase c++
    #32239927
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот и нельзя просто так занести данные в USERS.
...
Рейтинг: 0 / 0
interbase c++
    #32239952
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот для примера можно поглядеть что делать ...
rsecurity.c
rFunc InterBase UDF library.
User manipulations.
http://polesoft.da.ru
...
Рейтинг: 0 / 0
interbase c++
    #32239981
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а нахрена там путь к isc4.gdb?
его IB сам знает...
неужели неможешь забить параметры в функцию которые просят и посмотреть что получится?
...
Рейтинг: 0 / 0
interbase c++
    #32240175
relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
#include "ibase.h"
#include <stdio.h>
main(void)
{
ISC_STATUS isc_status[20];
USER_SEC_DATA user_data;

user_data.uid = 0;
user_data.gid = 0;
user_data.user_name = "qwe";
user_data.password = "qweqwe";
user_data.protocol = sec_protocol_tcpip;
user_data.server = "server";
user_data.dba_user_name = "SYSDBA";
user_data.dba_password = "masterkey";
user_data.sec_flags = sec_password_spec | sec_dba_user_name_spec |
sec_dba_password_spec | sec_first_name_spec |
sec_last_name_spec;


isc_add_user(isc_status, &user_data);
if(isc_status[0] == 1 && isc_status)
{
isc_print_status(isc_status);
return;
}
printf("user successfully added");
return;
}


вот исходник, вылетает типа инструкция по адресу XXX обратилась к памяти по адресу YYYY...
...
Рейтинг: 0 / 0
interbase c++
    #32240230
relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сорри за глупые вопросы... все на visual c заработало, просто я флаги неправильно указывал...:))
спасибо.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / interbase c++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]