View Full Version : wrpa در اوراکل
lidaline
یک شنبه 29 دی 1392, 17:15 عصر
با سلام دوستان اگر امکانش هست هرچیزی که راجع به wrap و رمزنگاریهای دیتابیس اوراکل میدونید رو در این تایپک قرار بدهید چون منابع فارسی برای این موضوع خیلی کم هست. با تشکر
رسول_57
دوشنبه 30 دی 1392, 20:39 عصر
تبدیل کدهای اس کیو ال به باینری فرآیند مخفی کردن کدهای Pl/Sql است و به ما کمک می کند تا سورس کدهای خود را از رقبای تجاری دور نگه داریم و نگذاریم که مورد استفاده ناصحیح قرار گیرد . شما می توانید با ابزارهای که برای این منظور طراحی شده است به تبدیل کد بپردازید یا از زیر برنامه های DBMS_DDL استفاده کنید . این ابزارها می توانند اسکریپت های اس کیو الی باشند که به راحتی در مفسر های مربوطه اجرا می گردند . زیر برنامه های DBMS_DDL نیر می توانند یک پروسیژر ساده باشد .
می تواند از فایل های تبدیل شده بک آپ گیری کرد ، بازیابی کرد ، ایمپورت و اکسپورت کرد ولی نمی توان همانند ویوهای دیتا دیکشنری با استفاده از دستورات Select * معمولی به راحتی به اطلاعات آن دسترسی پیدا کرد .
راهنمایی هایی برای تبدیل کد به کدهای باینری
1- بدنه کدهای pl/Sql را تبدیل کنید نه مشخصه آنها را . در نتیجه برنامه نویسان دیگر می توانند به راحتی از این کدهای پکیج شده استفاده کنند اما نمی توانند شیوه کدنویسی را یاد بگیرند یا تغییر دهند .
2-وقتی اقدام به این کار کنید که کد برنامه را به طور کامل ویرایش کرده باشید و دیگر نیازی به ویرایش نداشته باشد .
3-قبل از این که فایل های تبدیل شده را منتشر کنید در یک ویرایشگر متنی آن را مرور کنید تا مطمئن گردید که تمام قسمت های مربوطه تبدیل شده اند .
تبدیل کدهای PL/SQL با ابزارهای تبدیل
نرم افزارهای تبدیل ، فایل اس کیو ال را می گیرد و تنها بخش های PL/SQL فایل ، مانند مشخصه بسته ، بدنه بسته ، تابع ، پروسیژر و ... را تبدیل می کند . شما نمی توانید تریگر ها یا کدهای غیر PL/SQL را تبدیل کنید . برای اجرای نرم افزار تبدیل در محیط پرامپت سیستم عامل دستورالعمل زیر را بنویسید :
wrap iname=input_file [ oname=output_file ]
Input Fileنام فایلی است که شامل کدهای PL/SQL است که معمولا شما با نرم افزارهای PL/SQL آنها را اجرا می کنید . اگر یادتان برور که پسوند فایل را بنویسید پسوند sql به آن اضافه می شود . مثال زیر را ببینید :
wrap iname=/mydir/myfile
wrap iname=/mydir/myfile.sql
همچنین می توانید پسوندی به صورت زیر در نظر بگیرید :
wrap iname=/mydir/myfile.src
Output_file نام فایل تبدیل شده خروجی است . پسوند پیش فرض خروچی plb است . به عنوان مثال دستور زیر را در نظر بگیری :
wrap iname=/mydir/myfile
wrap iname=/mydir/myfile.sql oname=/mydir/myfile.plb
البته می توانید پسوند خروجی دیگری نیز مانند مثال زیر در نظر بگیرید :
wrap iname=/mydir/myfile oname=/yourdir/yourfile.out
رسول_57
پنج شنبه 03 بهمن 1392, 14:08 عصر
فایل های ورودی و خروجی برای نرم افزار تبدیل PL/SQL
فایل ورودی شامل ترکیبی از دستورات SQL است . بعضی از دستورات بعد از تبدیل تغییری نمی کنند . دستورالعمل های CREATE معمولا تبدیل می گردند . بدنه آنها به کدی تبدیل می گردند که کامپایلر Pl/SQL معمولا می فهمد . به عنوان مثال دستورالعمل های زیر تبدیل می گردند :
CREATE [OR REPLACE] FUNCTION function_name
CREATE [OR REPLACE] PROCEDURE procedure_name
CREATE [OR REPLACE] PACKAGE package_name
CREATE [OR REPLACE] PACKAGE BODY package_name
CREATE [OR REPLACE] TYPE type_name AS OBJECT
CREATE [OR REPLACE] TYPE type_name UNDER type_name
CREATE [OR REPLACE] TYPE BODY type_name
کدهای ایجاد تریگر و یا بلاک هایی که با BEGIN END تنظیم می شوند تبدیل نمی شوند . فایل خروجی یک فایل متنی است که می توانید آن را در SQl * PLUS و یا هر پکیج مرتبطی اجرا کنید . فایل تبدیل شده را به صورت زیر اجرا کنید :
SQL> @wrapped_file_name.plb;
اجرای نرم افزارهای تبدیل :
فرض کنید فایل wrap_test.sql به صورت زیر است :
CREATE PROCEDURE wraptest IS TYPE emp_tab IS TABLE OF employees%ROWTYPE INDEX BY PLS_INTEGER; all_emps emp_tab; BEGIN SELECT * BULK COLLECT INTO all_emps FROM employees; FOR i IN 1..10 LOOP DBMS_OUTPUT.PUT_LINE('Emp Id: ' || all_emps(i).employee_id); END LOOP; END;
برای شروع تبدیل ، دستورالعمل زیر را در محیط Command Prompt سیستم عامل اجرا کنید :
wrap iname=wrap_test.sql
خروجی نرم افزار تبدیل به صورت زیر است :
PL/SQL Wrapper: Release 10.2.0.0.0 on Tue Apr 26 16:47:39 2005 Copyright (c) 1993, 2005, Oracle. All rights reserved. Processing wrap_test.sql to wrap_test.plb
اگر محتویات فایل متنی wrap_test.plb را در یک ادیتور ببینید تنها CREATE PROCEDURE باقی مانده است و بقیه
کدها مخفی شده است . با استفاده از اس کیو ال پلاس و به صورت زیر می توانید فایل تبدیل شذه را اجرا کنید :
SQL> @wrap_test.plb
بعد از اینکه اجرا شد ، پروسیژر اجرا شده را به صورت زیر فراخوانی کنید :
SQL> CALL wraptest();
lidaline
جمعه 04 بهمن 1392, 00:38 صبح
از توضیحاتتون خیلی ممنونم.کاملا واضح و کامل.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.