نمایش نتایج 1 تا 17 از 17

نام تاپیک: ایجاد چند کاربر برای بانک

  1. #1

    Lightbulb ایجاد چند کاربر برای بانک

    با سلام
    من می خواهم به وسیله فرم های سیستم امکان تعریف کاربر جدید را داشته باشم.
    البته در sql*plus این کار را بلدم ولی نمیدانم چطور این کار را در یک فرم انجام دهم .مثلا چطور می توان synonym برای جداولم به وسیله فرم ها ایجاد کنم.
    خیلی متشکرم

  2. #2
    کاربر دائمی آواتار hmm
    تاریخ عضویت
    مهر 1382
    محل زندگی
    ایران - یزد
    پست
    1,229
    برای ساخت sysnonym میتونی از دستور زیر استفاده کن

    create public synonym synonym_name for Owner.table_name;

    برای تعریف یوزر مشکلت دقیقا چیه؟

  3. #3
    سلام
    من نمی توانم داخل فرم هایم که با Developer6i می سازم امکان تعریف کاربر جدید را بنا به درخواستهای سازمان داشته باشم چون نمیدانم چطور می توان همان دستورات که داخل sqlplus می نویسی را داخل فرم هایم بنویسم و اجرا کنم
    اگر امکان دارد یک تکه کد که بتواند داخل فرم ها برای دکمه ها قرارداد و کاربر ایجاد کند را برایم بنویسید
    خیلی خیلی ممنون

  4. #4
    سلام
    امکان استفاده از کدهای ایجاد کاربر sqlplus در داخل فرم ها نیست . چون داخل فرمها شما از دستور create user ... باید استفاده کنید و این دستور را در دل یک تریگر , تابع و یا زیر برنامه قرار دهید که این حالت در برنامه نویسی اوراکل اجازه داده نمی شود . دو پیشنهاد میکنم . اول اینکه در داخل دیتابیس دنبال پکیجی بگردی که اوراکل به کمک آن در حین ایجاد کاربر جدید در جداول دیتا دیکشنری عملیات مربوطه را ثبت می کند شاید بتوانی از این پکیج در داخل و روالهای آن در داخل فرم استفاده کنید . راه حل دوم و عملی این کار این است که شما جداولی برای نگهداری کاربران سیستم آن سازمان و حقوق و سطح دسترسی آنها ایجاد کنید و در هر بار که کاربر جدیدی ایجاد می کنید این جداول را هم بهنگام سازی کنید.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    تهران
    پست
    558
    سلام
    جناب systemadmin عزیز، در Forms اوراکل می تونید با استفاده از رویه FORMS_DDL دستورات DML و DDL رو اجرا کنید.
    ترکیب نوشتاری اونهم به شکل زیر هستش :

    FORMS_DDL (statement);

    برای بررسی موفقیت آمیز بودن اجرای دستور هم از خصوصویت FORM_SUCCESS استفاده می کنید.
    برای مثال :

    FORMS_DDL (‘CREATE table temp (n_col number)‘);
    IF not FORM_SUCCESS THEN
    MESSAGE (‘Table creation failed.‘);
    RAISE form_trigger_failure;
    END IF;


    لطفا برای مسائلی که در مورد پاسخ اونها مطمئن نیستید، بصورت قاطع اظهار نظر نکنید، ممنون.

  6. #6
    با سلام
    از راهنمایی شما خیلی ممنون
    کمک بزرگی بود . لطفا اگر امکان دارد نحوه استفاده از
    text item
    را در این دستور برایم توضیح دهید یعنی در قسمتی که باید نام کاربر را بنویسم از یک
    که در روی فرم قراردارد استفاده کنمtext item
    باز هم از شما دوستان متشکرم

  7. #7
    با سلام
    از راهنمایی شما خیلی ممنون
    کمک بزرگی بود . لطفا اگر امکان دارد نحوه استفاده از
    text item
    را در این دستور برایم توضیح دهید یعنی در قسمتی که باید نام کاربر را بنویسم از یک
    که در روی فرم قراردارد استفاده کنمtext item
    باز هم از شما دوستان متشکرم

  8. #8
    سلام
    کسی نیست به من کمک کنه
    من نمی توانم از یک کاربر به کاربر دیگری سوئیچ کنم
    لطفا من را راهنمایی کنید
    مرسی

  9. #9
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    تهران
    پست
    558
    سلام
    آقای حسن خانی عزیز، بهتره یه بار یه کتاب در مورد Forms اوراکل بخونی، یا اینکه سر کلاس بری و یاد بگیری، چون مثل بقیه محیطهای توسعه که ما با اونها کار می کنیم نیست، و خصوصیات خاص خودش رو داره.
    اگه وقت کردم تست می کنم برات جواب رو میفرستم (تا شب جوابش رو برات میفرستم).

  10. #10
    سلام
    از لطف شما متشکرم .
    من کتاب های زیادی را دیدم ولی این مطالب را پیدا نکردم
    اگر کتاب خاصی هست لطفا آن را به من معرفی کنید
    متشکرم

  11. #11
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    تهران
    پست
    558
    سلام حسن خانی عزیز
    شرمنده دیر شده، این مودم ما رفته بود مسافرت نشد جوابو برات ارسال کنم.
    خوب راه حلی که من استفاده کردم :
    1- در تریگر ON-LOGON در سطح فرم کد زیر رو می نویسی :

    DECLARE
    connected BOOLEAN := FALSE;
    tries NUMBER := 3;
    un VARCHAR2(30);
    pw VARCHAR2(30);
    cs VARCHAR2(30);
    BEGIN
    SET_APPLICATION_PROPERTY(CURSOR_STYLE, 'DEFAULT');
    WHILE connected = FALSE and tries > 0 LOOP
    LOGON_SCREEN;
    un := GET_APPLICATION_PROPERTY( USERNAME );
    pw := GET_APPLICATION_PROPERTY( PASSWORD );
    cs := GET_APPLICATION_PROPERTY( CONNECT_STRING );
    LOGON( un, pw || '@' || cs, TRUE );
    IF FORM_SUCCESS THEN
    connected := TRUE;
    END IF;
    tries := tries - 1;
    END LOOP;
    IF NOT CONNECTED THEN
    MESSAGE('Too many tries!');
    RAISE FORM_TRIGGER_FAILURE;
    END IF;
    END;



    2- یه BUTTON روی یه CANVAS میزاری یا هر جای دیگه و تو رویداد WHEN-BUTTON-PRESSED اون کد زیر رو می نویسی :

    BEGIN
    LOGOUT;
    LOGON('', '', TRUE );
    EXCEPTION
    WHEN OTHERS THEN
    LOGON('', '', TRUE );
    END;


    خوب کاربر در زمان ورود به فرم برای اولین بار باید اطلاعات ورودش رو بده و بعد وارد میشه، دکمه رو که زد LOGOUT میکنه و دوباره مجبوره LOGON کنه.
    امیدوارم بدردت بخوره.
    البته میتونی بهتر و کاملترش کنی.

  12. #12
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    تهران
    پست
    558
    سلام
    در ضمن اسم کتابهایی رو که خوندی بگو.

  13. #13
    سلام
    نمیدونم چطور از شما تشکر کنم
    واقعا من را شرمنده کردید.
    من کتابهای اوراسل را می خونم . ولی معمولا چیزهایی را که می خواهم پیدا نمی کنم
    باز هم ازشما تشکر می کنم .

  14. #14

    Unhappy ایجاد دسترسی ها

    با سلام خدمت شما دوست گرامی
    لطفا اگر امکان به این دستورات نگاه کرده و اشکالات آن را برایم رفع کنید.متشکرم
    من در این دستورات می خواهم به یک کاربر که قبلا ایجاد شده دسترسی های لازم را برای دیدن جداول کاربر اصلی بدهم.
    ابتدا چون با کاربر اصلی متصل هستم باید تغییر کاربری داده و با کاربر دوم که نام و رمز آن را از روی فرم می خوانم (user - pass) متصل شوم.(که این کار با هیچ کدام از دستورا ت زیر انجام نمی شود)؟؟؟؟؟؟؟؟؟؟؟؟؟؟
    در ضمن برای ایجاد (synonym ) هم مشکل دارم و نمی توانم از دستور ( form_ddl) استفاده کنم و همچنین برای ایجاد (grant ) آیا روش خاصی دارد؟؟؟؟؟؟؟؟؟؟؟؟
    [LEFT]
    begin

    --forms_ddl('connect '||:user||'/'||:pass||'@rassa');
    logout;
    LOGON( :user, :pass || '@' || 'rassa', TRUE );
    if not form_success then
    message('Çã˜Çä ÈÑÞÑÇÑí ÇÊÕÇá æÌæÏ äÏÇÑÏ');
    message('Çã˜Çä ÈÑÞÑÇÑí ÇÊÕÇá æÌæÏ äÏÇÑÏ');

    else
    message('ÇÊÕÇá ÈÑÞÑÇÑ ÔÏ');
    message('ÇÊÕÇá ÈÑÞÑÇÑ ÔÏ');
    end if;


    forms_ddl('create synonym peymankar for mehdi.peymankars;');

    if not form_success then
    message(' not synonym');
    message('not synonym');
    else
    message(' synonym');
    message(' synonym');
    end if;

    forms_ddl('connect mehdi/mehdi@rassa');

    if not form_success then
    message('Çã˜Çä ÈÑÞÑÇÑí ÇÊÕÇá ÈÇ ÓÑæÑ æÌæÏ äÏÇÑÏ');
    message('Çã˜Çä ÈÑÞÑÇÑí ÇÊÕÇá ÈÇ ÓÑæÑ æÌæÏ äÏÇÑÏ');

    else

    message('ÇÊÕÇá Èå ÓÑæÑ ÈÑÞÑÇÑ ÔÏ');
    message('ÇÊÕÇá Èå ÓÑæÑ ÈÑÞÑÇÑ ÔÏ');
    end if;

    forms_ddl('grant all on peymankars to '||:user||'with grant option');
    if not form_success then
    message('Çã˜Çä ÇíÌÇÏ ÏÓÊÑÓí åÇ æÌæÏ äÏÇÑÏ');
    message('Çã˜Çä ÇíÌÇÏ ÏÓÊÑÓí åÇ æÌæÏ äÏÇÑÏ');
    else
    message('ÏÓÊÑÓí åÇí áÇÒã Èå Çíä ˜ÇÑÈÑ ÏÇÏå ÔÏ');
    message('ÏÓÊÑÓí åÇí áÇÒã Èå Çíä ˜ÇÑÈÑ ÏÇÏå ÔÏ');
    end if;

    end;
    [/LEFT
    ]
    آخرین ویرایش به وسیله hasankhani : پنج شنبه 21 اردیبهشت 1385 در 08:31 صبح

  15. #15
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    تهران
    پست
    558
    سلام
    اول - اینکه کدها رو تو تگهای مربوطه قرا بده که خوانا باشن
    دوم - اینکه پسر خوب دستور FORMS_DDL رو یه بار تو Help خود برنامه میدیدی بعد خودت متوجه استباهت میشدی، عبارات موجود در رویه FORMS_DDL نباید حاوی ; باشه.
    عین عبارت از Help خود Forms Developer یه نگاهی بکن :

    Usage Notes
    ....
    If you use FORMS_DDL to execute a single DML or DDL statement:
    Omit the trailing semicolon to avoid an invalid character error.
    ....
    آخرین ویرایش به وسیله majid_afra222 : دوشنبه 18 اردیبهشت 1385 در 15:21 عصر

  16. #16
    با سلام
    از راهنمایی شما متشکرم
    راستی نگفتید من برای یادگیری این موارد از کدام کتاب استفاده کنم.
    متشکرم

  17. #17
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    تهران
    پست
    558
    سلام
    اول اینکه یه کلاس خوب با یه استاد خوب پیدا کن، بهترین کار یادگیری مفاهیم و اصول هستش.
    بعد کتابهای خود اوراکل رو مطالعه کن.
    بقیه اش با تجربه و کار خود به خود و کم کم بدست میآد.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •