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

Версия 1 osv
на апр 15, 2011 15:36.

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

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

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

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


{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}
="select user_id from gln_usr_add("&B1&",'"&C1&"','"&D1&"','"&E1&"',1,1,'"&F1&"',0,null);"
{code}
и ее результат

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

5. В ibexpert подключаемся к бд и нажимаем ctrl+F12 откроется новый скрипт

6. В него вставляем и выполняем

Для работы с БД нужно подключиться по vpn администратором.

Пароль к бд такой же как в локальной консоли, пользователь SYSDBA, настройки ibexpert:
*Code:* \\
    1    ivan    Иван    ivan@mail.local    12345    1    sergey    sergey    ivan@mail.local    12345 \\
3. Создать новую первую колонку в ней сформировать строку вида select user_id from gln_usr_add(PARENT_ID,login,NAME,EMAIL,1,1,PSW,0,null);PARENT_ID это id группы в которую помещается пользовательПолучится подобная строка формул \\
  !worddavf66ae1f6e29c2fffd82ff9615a50fa2d.png|height=471,width=623!
----
Если у вас отображаетсяCannot perform operation -- DB is not open.

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

----
Как изменить другие поля и реквизиты:

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

{code}
select user_id from gln2_usr_add(.................);
{code}

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


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

*Code:* \\
="select user_id from gln_usr_add("&B1&",'"&C1&"','"&D1&"','"&E1&"',1,1,'"&F1&"',0,null);" \\
и ее результат \\
*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(1,'ivan','Иван','ivan@mail.local',1,1,'12345',0,null); \\ gln_usr_add(:PARENT_ID,:LOGIN,:NAME,:EMAIL,:NET_SIZE,:END_USER,:PSW, :AD_IS,:SUID)
4. Колонку выделяем и ctrl+c5. В ibexpert подключаемся к бд и нажимаем ctrl+F12 откроется новый скрипт6. В него вставляем и выполняем Для работы с БД нужно подключиться по vpn администратором.Пароль к бд такой же как в локальной консоли, пользователь SYSDBA, настройки ibexpert: \\
_\[Sergey.Ideco attached the following image(s):\]_ !worddavf66ae1f6e29c2fffd82ff9615a50fa2d.png|height=471,width=623! \\
|*От:* 20 февраля 2008 г. 14:37:02 | |
into user_id;
--Обновим баланс(остаток на начало мес) пользователя
update users set enabled=:enabled,
ostatok=:BALANCE*10000000000
where id=:user_id;
update users set
--установим ip адрес
users.ip=uf_string2ip(:ip_str),
--отключим предупреждение приближения к лимиту
users.limit_warning=null,
--Автоматический акт
users.auto_account=1,
--Дата следующего автоматического акта
users.next_auto_acount='01.07.2008',
--Сменим тип авторизации на подключение через агента
users.auth_type=2,
--Сменим кеш поле тип авторизации на подключение через агента
users.auth_type_cache=2,
--Разрешим почту
users.allow_mail=1,
--Разрешим доступ к почте из интернет
users.allow_mail_internet=1
where id=:user_id;
/* <-расскомментируйте этот блок
--Добавим атрибут комментарий
INSERT INTO ATTRIBUTE_VALUES (
USER_ID,
ATTRIBUTE_ID,
ATTRIBUTE_VALUE)
VALUES (
: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*
\\
Если у вас отображаетсяCannot perform operation -- DB is not open. 1. Предварительно двойной клик по строчке регистрации БД в дереве, произойдет подключения к БД2. В окне скрипта выберите галочку "Использовать текущее подключение" По всем вопросам работы с бд обращайтесь в ICQ 164592853 или по телефону. \\
|*От:* 29 февраля 2008 г. 16:41:14 | |
{code}
SET TERM ^ ;
create procedure GLN_USR_ADD3 (
IDENTIFY varchar(128),
LOGIN varchar(32),
PSW varchar(16),
PARENT_ID decimal(15,2),
TARIFF_NO integer,
OSTATOK decimal(15,2),
FINANCE_USER smallint,
ENABLED smallint,
CONTRACT_NUMBER varchar(32),
REAL_ADDRESS varchar(1024),
PHONE varchar(1024),
AUTH_TYPE varchar(10),
PULL_ID varchar(16),
ROUTER_IP varchar(32),
ROUTER_VLAN varchar(32),
ROUTER_PORT varchar(32))
returns (
USER_ID integer)
as
begin
-- непосредственно создание пользователя
select USER_ID from GLN_USR_ADD(:PARENT_ID,:LOGIN,:IDENTIFY,'',1,1,:PSW,0,0) into USER_ID;
-- обновление остатка
update USERS set ENABLED=:ENABLED, OSTATOK=:OSTATOK*10000000000 where ID=:USER_ID;
-- обработка потенциальных null'ов
if (ROUTER_IP = '') then ROUTER_IP=NULL;
if (ROUTER_VLAN = '') then ROUTER_VLAN=NULL;
if (ROUTER_PORT = '') then ROUTER_PORT=NULL;
if (AUTH_TYPE = '') then AUTH_TYPE=1;
if (PULL_ID = '') then PULL_ID=NULL;
-- дополнительные поля
update USERS set
--отключим предупреждение приближения к лимиту
USERS.LIMIT_WARNING=null,
--установим авторизацию
USERS.AUTH_TYPE=:AUTH_TYPE,
USERS.AUTH_TYPE_CACHE=:AUTH_TYPE,
--разрешим почту
USERS.ALLOW_MAIL=1,
USERS.ALLOW_MAIL_INTERNET=1,
--поставим ему роутер_ип, влан и порт
USERS.ROUTER_IP=uf_string2ip(:ROUTER_IP),
USERS.ROUTER_VLAN=:ROUTER_VLAN,
USERS.ROUTER_PORT=:ROUTER_PORT,
--выставим тариф
USERS.TARIFF_NO=:TARIFF_NO,
USERS.TARIFF_ID_CACHE=:TARIFF_NO,
--выставим абоненту финансовость
USERS.FINANCE_USER=:FINANCE_USER,
--установим номер договора
USERS.CONTRACT_NUMBER=:CONTRACT_NUMBER,
--установим номер пула
USERS.PULL_ID=:PULL_ID
where ID=:USER_ID;
\\
Как изменить другие поля и реквизиты:Выполнить скрипт он создаст новую, процедуру GLN2_USR_ADD.Строку для нее готовить по аналогии с верхним примером, select user_id from gln2_usr_add(.................); поля идут последовательно ниже видно от PARENT_ID до IP_STR.Отредактируйте скрип по вашему желанию. \\
*Code:* \\
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.ip=uf_string2ip(:ip_str),--отключим предупреждение приближения к лимиту     users.limit_warning=null, --Автоматический акт     users.auto_account=1,--Дата следующего автоматического акта     users.next_auto_acount='01.07.2008',--Сменим тип авторизации на подключение через агента     users.auth_type=2,--Сменим кеш поле тип авторизации на подключение через агента     users.auth_type_cache=2,--Разрешим почту     users.allow_mail=1,--Разрешим доступ к почте из интернет     users.allow_mail_internet=1    where id=:user_id; /* <-расскомментируйте этот блок--Добавим атрибут комментарий INSERT INTO ATTRIBUTE_VALUES (     USER_ID,     ATTRIBUTE_ID,     ATTRIBUTE_VALUE)   VALUES (     :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; \\
GLN2_USR_ADD \\
| | |
--укажем телефон и адрес пользователя
insert into ATTRIBUTE_VALUES (USER_ID, ATTRIBUTE_ID, ATTRIBUTE_VALUE) values (:USER_ID,1,:PHONE);
insert into ATTRIBUTE_VALUES (USER_ID, ATTRIBUTE_ID, ATTRIBUTE_VALUE) values (:USER_ID,3,:REAL_ADDRESS);
end
{code}
\\
|*От:* 17 июня 2009 г. 14:39:15 | |
----
Если не подключается и пишет "Undefined service gds_db/tcp"
\\
Если не подключается и пишет "Undefined service gds_db/tcp" Положить файл gds32.dll в system32, взять можно из каталога с ICSManagerВ файле C:WINDOWS\services проверьте наличие записи : gds_db 3050/tcp gds_db 3050/udpесли запись отсутствует то необходимо ее добавить и после этого продолжить установку клиентской части.|
Положить файл gds32.dll в system32, взять можно из каталога с ICSManager

В файле C:WINDOWS\services проверьте наличие записи :

gds_db 3050/tcp

gds_db 3050/udp

если запись отсутствует то необходимо ее добавить и после этого продолжить установку клиентской части.\|