Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создать пользователя, в Firebird 2x? 
:(
    Опции темы
tishaishii
Дата 28.12.2006, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: нет
Всего: 8



Как создать пользователя в Firebird 2x?
create user 'test' password 'test' не проходит, говорит:
Код
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, column 8.
user.

PM MAIL ICQ Skype   Вверх
Akella
Дата 4.1.2007, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



помоему пользователя можно добавлять или удалять только через утилиту gsec
PM MAIL   Вверх
Akella
Дата 4.1.2007, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Цитата

В следующем примере заводиться пользователь BJONES с паролем "blah" и указываются его имя и фамилия.

 GSEC add BJONES -pw blah -fname Bobby -lname Jones
 GSEC display BJONES
 user name uid gid full name
 ------------------------------------------
 BJONES    0   0   Bobby Jones
 


Добавлено @ 14:08 
Цитата

Изменение информации о пользователе

Для изменения информации о существующем пользователе используется команда MODIFY. Следующий пример демонстрирует процесс модификации UserID и имени пользователя BJONES

 GSEC modify BJONES -uid 22 -fname Brad
 GSEC display BJONES
 user name uid gid full name
 --------------------------------------------
 BJONES    22  0   Brad Jones


Добавлено @ 14:08 
Цитата

Удаление пользователя

Данный пример демонстрирует, как можно с помощью команды DELETE удалить пользователя BJONES. Чтобы убедиться в успешности проделанной работы, используется команда DISPLAY, которая показывает список всех существующих пользователей.

 GSEC delete BJONES
 GSEC display
 user name uid gid full name
 -------------------------------------------
 SYSDBA    0   0
 TEST      0   0
 BBANDY    0   0
 MKEMPER   0   0


Добавлено @ 14:10 
Цитата

 Использование InterBase API для управления пользователями

Начиная с версии 5.0 InterBase предоставляет собственный Application Programming Interface (API) для доступа к базе данных и осуществления административных функций. Помимо прочего в данном API имеются три функции, которые позволяют разработчику приложения реализовать администрирование пользователей.

kdv: далее описание функций isc_add_user, isc_modify_user, isc_delete_user и примеры удалены для сокращения объема статьи. Примеры на C см. в ApiGuide, примеры на Delphi - ibusers.zip. Пример использования всех InterBase Admin (services api) компонент - AdminDemo.


взято с http://www.ibase.ru/devinfo/sqlroles.htm
PM MAIL   Вверх
tishaishii
Дата 26.3.2007, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: нет
Всего: 8



Короче, вот недоделанный интерфейс сделал:
Код
package GSEC;
use IO::Handle;
use Win32::Registry;

sub clearPath {my$str=shift;$str=~s{\\$}{}g;+$str}
sub registryValue {
    my($path, $rh, $result)=shift;
    ${'::'.$path}->Open(shift, $rh) && $rh->QueryValueEx(shift, undef, $result);
    +$result
}

sub new {
    my($class, $self)=(shift, {@_});
    open $self->{gsec}, '|"'.&clearPath(&registryValue('HKEY_LOCAL_MACHINE', 'SOFTWARE\Firebird Project\Firebird Server\Instances', 'DefaultInstance')).'\bin\gsec.exe" -user '.$self->{-user}.' -password '.$self->{-passw} or die;
    +bless $self, $class
}

sub add {
    my($self, $users)=(shift, {@_});
    $self->{gsec}->print(
        'add ', $_,
        ' -pw ', $users->{$_}{-passw},
        (exists $users->{$_}{-fname} ? ' -fname '.$users->{$_}{-fname} : ()),
        (exists $users->{$_}{-mname} ? ' -mname '.$users->{$_}{-mname} : ()),
        (exists $users->{$_}{-lname} ? ' -lname '.$users->{$_}{-lname} : ()),
        (exists $users->{$_}{-uid} ? ' -uid '.$users->{$_}{-uid} : ()),
        (exists $users->{$_}{-gid} ? ' -gid '.$users->{$_}{-gid} : ()),
        "\n"
    ) foreach keys %$users;
    +$self
}

sub del {
    my$self=shift;
    $self->{gsec}->print('del ', $_, "\n") foreach @_;
    +$self
}

sub DESTROY {shift->{gsec}->close if $_[0] && ref $_[0]{gsec}}

package main;

my$gsec=GSEC->new(-user=>'SYSDBA', -passw=>'masterkey');
$gsec->add(
    TEST=>{
        -passw=>'test'
    }
);
$gsec->del('TEST');


Это сообщение отредактировал(а) tishaishii - 26.3.2007, 08:24
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0451 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.