Импорт пользователей из другой программы

по сравнению с
Текущая oleg
на дек 06, 2011 10:55.

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (65)

просмотр истории страницы
\\
1. Сконвертировать из другой программы в excel (*.xls, \*.xlsx) или файл с разделителями (*.csv)

2. Открыть этот файл в excel получаем например
\\
*Code:*

  

{code}
1 ivan Иван ivan@mail.local 12345

1 sergey sergey ivan@mail.local 12345
{code}
\\
3. Создать новую первую колонку в ней сформировать строку вида select user_id from gln_usr_add(PARENT_ID,login,NAME,EMAIL,1,1,PSW,0,null);PARENT_ID это id группы в которую помещается пользовательПолучится подобная строка формул
\\
*Code:*

{code}
="select user_id from gln_usr_add("&B1&",'"&C1&"','"&D1&"','"&E1&"',1,1,'"&F1&"',0,null);"
{code}
\\
и ее результат

\\
*Code:*

{code}
select user_id from gln_usr_add(1,'ivan','Иван','ivan@mail.local',1,1,'12345',0,null);
{code}
\\
4. Колонку выделяем и ctrl+c

Если у вас отображаетсяCannot perform operation -- DB is not open.

1. # Предварительно двойной клик по строчке регистрации БД в дереве, произойдет подключения к БД
# В окне скрипта выберите галочку "Использовать текущее подключение" По всем вопросам работы с бд обращайтесь в ICQ 164592853 или по телефону.

2. В окне скрипта выберите галочку "Использовать текущее подключение" По всем вопросам работы с бд обращайтесь в ICQ 164592853 или по телефону.
----
Как изменить другие поля и реквизиты:

Выполнить скрипт он создаст новую, процедуру GLN2_USR_ADD.  Важный момент - процедура не должна начинаться с префиксов GLN, KNL, CNL, иначе она не будет работать. 

Строку для нее готовить по аналогии с верхним примером,
{code}
select user_id from gln2_usr_add(.................);
{code}

поля идут последовательно ниже видно от PARENT_ID до IP_STR.
Строку для нее готовить по аналогии с верхним примером, поля идут последовательно ниже видно от PARENT_ID до IP_STR.


Отредактируйте скрип по вашему желанию.

\\
*Code:*
*Пример 1*

{code}
SET TERM ^ ;SET TERM ^ ;


CREATE PROCEDURE GLN2_USR_ADD (


PARENT_ID INTEGER,


LOGIN VARCHAR(32),


NAME VARCHAR(128),


EMAIL VARCHAR(128),


NET_SIZE INTEGER,


END_USER SMALLINT,


PSW VARCHAR(16),


AD_IS INTEGER,


SUID NUMERIC(18,0),


BALANCE NUMERIC(15,2),


COMMENT VARCHAR(1024),


ENABLED INTEGER,


IP_STR VARCHAR(16)


)


RETURNS (


USER_ID INTEGER)


AS


begin


select user_id from gln_usr_add(:PARENT_ID,:LOGIN,:NAME,:EMAIL,:NET_SIZE,:END_USER,:PSW, :AD_IS,:SUID)


into user_id;


--Обновим баланс(остаток на начало мес) пользователя
update users set enabled=:enabled,
ostatok=:BALANCE*10000000000
where id=:user_id;

update users set
--установим ip адрес
users.allow_mail_internet=1
where id=:user_id;

/* <-расскомментируйте этот блок
--Добавим атрибут комментарий
2,
:comment);


'Наименование' id=2

*/

suspend;

end

^

SET TERM ; ^

GRANT EXECUTE ON PROCEDURE GLN_USR_ADD

TO PROCEDURE GLN2_USR_ADD;

GRANT SELECT,UPDATE ON USERS TO PROCEDURE GLN2_USR_ADD;

GRANT INSERT ON ATTRIBUTE_VALUES TO PROCEDURE GLN2_USR_ADD;

GRANT EXECUTE ON PROCEDURE GLN2_USR_ADD TO SYSDBA;
{code}
Ещё один пример :
*Пример 2*

{code}
SET TERM ^ ;
create procedure GLN_USR_ADD3 ( IDENTIFY varchar(128),
IDENTIFY varchar(128),
LOGIN varchar(32),
PSW varchar(16),

----
----
Если не подключается и пишет "Undefined service gds_db/tcp"