Encryption of Procedure & Package Information
Dear All,
I have developed a application, for this i have used several packages and procedures. i don't want my client to view the procedure / package coding information. Even i am interested to hide the tables Information too. Is it possible by oracle. If So what I have to do?
Please Advice me to solve this problem.
Thanks
Radhakrishnan
Hi \,
Oracle has a wrapper that encrypt the code look in the oracle_home\bin for wrap and use it. it takes a finename.sql and creates a encryptfinename.plb
Best,
EA
Similar Messages
-
Encrypt / Decrypt Procedure in PL/SQL
Hi,
Is using WRAP the only way to Encrypt Stored Procedure Code in PL/SQL? The requirement is that for a Product Implementation, the client would be provided with code base and application owners do not wish to reveal the business logic embedded in the Stored Procedures & Packages.
-ChinmayThanks - will proceed with using WRAP then.
By the way - I found a nice writeup on WRAP Utility - http://www.databasejournal.com/features/oracle/article.php/3382331
~Chinmay -
Missing package information on MyBT accounts
Missing package information on MyBT accounts
and after lots of phone call no one can fix it.
which department do i need to talk to.
and can i have a name of some one it that department so I can look them up in the Directory if not a name a EIN will do.I have asked a moderator to provide assistance, they will post an invite on this thread.
They are the only BT employees on this forum, and are a UK based team of people, who take personal ownership of your problem.
Once you get a reply, make sure that you are logged into the forum, then click on their name, you will see a screen like this. Click on the link as shown below.
Please do not send them a personal message, as they may not be on duty for a long time, and your message will not be tracked properly.
For your own security, do not post any personal details, on this forum. That includes any tracking number you are give.
They will respond either by phone or e-mail within 5-6 working days.
Please use the tracked e-mail, to reply, not via the forum. Thanks
This is the form you should see when you click on the link. If you do not see this form, then you have selected the wrong link.
When you submit the form, you will receive an enquiry number, so please keep a note of it
There are some useful help pages here, for BT Broadband customers only, on my personal website.
BT Broadband customers - help with broadband, WiFi, networking, e-mail and phones. -
How to find length of string after encryption using DBMS_CRYPTO package
Hi,
I am planning do data encryption using DBMS_CRYPTO package. I want to find how much will be string length after encryption.
e.g When I try to encrypt string of length between 1-15 characters it gives me encrypted string of 32 characters. When I try with 16 charcters encrypted string is of 64 characters.
Is ther any formula to calculate length of encrypted string?
Thanks
PravinThe length change is dependent upon the algorithm you are using which can be a combination of cipher block, padding, and chaining.
The best solution is determine the method you are going to use and apply it to the l ongest possible strings you are going to proces, then add some safety margin. There iis no penalty for defining your column as VARCHAR2(4000). -
Help Required :Excel Upload Into Oracle Table Using PLSQL Procedure/Package
Please Help , Urgent Help Needed.
Requirement is to Upload Excel file Into Oracle Table Using PLSQL Procedure/Package.
Case's are :
1. Excel File is On Users/ Client PC.
2. Application is on Remote Server(Oracle Forms D2k).
3. User Is Using Application Using Terminal Server LogIn.
4. So If User Will Use to GET_FILE_NAME() function of D2K to Get Excel File , D2k Will Try to pick File from That Remote Server(Bcs User Logind from Terminal Server Option).
5. Cannot Use Util_File Package Or Oracle Directory to Place That File on Server.
6. we are Using Oracle 8.7
So Need Some PL/SQL Package or Fuction/ Procedure to Upload Excel file on User's Pc to Oracle Table.
Please Guide me wd some Code. or with Some Pl/SQL Package, or With SOme Hint. Or any Link ....
Jus help to Sort This Issue ........
you can also write me on :
[email protected], [email protected]I also Tried to Use This
But How can i Use SQLLDR Command In Stored Procedure.
Well IN SQL*PlUS it is successfull but in Stored Procedure /Package ,PL/SQL does not recognise the OS commands.
So now my Question How can I recognise the SQLLDR Commnad in Stored Procedure. -
Is there any field on waste packaging information in MM03
Please help me in finding any field on waste packaging information in MM03. If it is there please let me know in which view we can find it, if not let me know where else i can find information on Waste packaging.
Hi Vinod,
If i got you right, you need the information on Packing material in material master, if this is the case then go to
Material Master - Basic data1- Packaging Material Data here you get to see
1) )Material group packing material - here grouping of materials which require same kind of packing is done.
2) Reference material for material packing - here material number is given which is to be packed with the similar packing and there should be a material master record for the reference material.
3) Product composition - if you check ithis tab then composition gets printed on packing
For example - say you have two material X(glass bottles) and y( glass jars) since these two are one of a kind they require same kind of packing.
hope this will help you
Thanks
Abdul -
Decrypt the encrypted store procedure through the T-SQL programming in SQL Server 2005
HI ,
I have a encrypted store procedure in my production server .Right now I do not have the script now I want do some modification.
Please any one can help me to decrypt the store procedure it will be a great help for me.
For any suggestion thanks
in advance.
" Education is the beginning of transformation. Dedicate yourself to daily learning via Blogs/Forums/books and coaching "
Click here to read my blogI have modified Jon's post so it also supports functions correctly, jon's version gave a syntax error on functions because the dummy func sql was invalid
1. Connect using "admin:server\instance" instead of "server\instance" (enable dac if you havent already, its an sp_reconfigure command)
2. create the below proc
3. exec SqlDecryptor 'dbo', 'function_or_stored_proc_name'
ALTER -- CREATE
proc SqlDecryptor (@objschemaname nvarchar(255), @objname nvarchar(255))
AS
DECLARE @objid INT,@objtype NVARCHAR(50),@objtypicalstm NVARCHAR(4000),@objencrypted BIT
SELECT TOP 1 @objid=o,@objname = n,@objtype = t,@objtypicalstm=s,@objencrypted = (SELECT ([encrypted]) FROM syscomments WHERE [id] = x.o and colid = 1)
FROM
SELECT object_id o, name n,
CASE WHEN [type] = 'P' THEN N'PROCEDURE'
WHEN [type] = 'V' THEN 'VIEW'
WHEN [type] IN ('FN','TF','IF') THEN N'FUNCTION'
ELSE [type]
END t,
CASE WHEN [type] = 'P' THEN N'WITH ENCRYPTION AS'
WHEN [type] = 'V' THEN N'WITH ENCRYPTION AS SELECT 123 ABC'
WHEN [type] IN ('FN','TF','IF') THEN N' () RETURNS INT WITH ENCRYPTION AS BEGIN RETURN 1 END'
ELSE [type]
END s
FROM sys.all_objects WHERE [type] NOT IN ('S','U','PK','F','D','SQ','IT','X','PC','FS','AF')
AND name = @objname AND (SCHEMA_NAME([schema_id]) = COALESCE(@objschemaname,'dbo'))
--UNION ALL SELECT object_id,name,'TRIGGER',N'ON ALL SERVER WITH ENCRYPTION FOR DDL_LOGIN_EVENTS AS SELECT 1' FROM sys.server_triggers WHERE name = @objname
--UNION ALL SELECT object_id,name,'TRIGGER',N'ON DATABASE WITH ENCRYPTION FOR CREATE_TABLE AS SELECT 1' FROM sys.triggers WHERE name = @objname
) x
--SELECT @objid,@objname,@objtype,@objtypicalstm,@objencrypted
SET NOCOUNT ON
IF @objencrypted <> 0
BEGIN
IF EXISTS
SELECT * FROM sys.dm_exec_connections ec JOIN sys.endpoints e
on (ec.[endpoint_id]=e.[endpoint_id])
WHERE e.[name]='Dedicated Admin Connection'
AND ec.[session_id] = @@SPID
BEGIN
DECLARE @ChunkNumber INT,@ChunkPiece NVARCHAR(MAX),@CompareChunksAtPosition INT,@DummyChunk NVARCHAR(MAX),@DummyObject VARBINARY(MAX),@EncryptedChunk NVARCHAR(MAX),@EncryptedObject VARBINARY(MAX),@p INT,@p1 NVARCHAR(MAX),@p2 NVARCHAR(MAX),@QueryForDummyObject NVARCHAR(MAX),@ReplacementText NVARCHAR(4000)
SELECT @EncryptedObject = [imageval] FROM [sys].[sysobjvalues] WHERE [objid] = @objid AND [valclass] = 1
BEGIN TRANSACTION
SET @p = 1
SET @p1= N'ALTER'+SPACE(1)+@objtype+SPACE(1)+ISNULL((@objschemaname+'.'),'')+@objname +SPACE(1)+@objtypicalstm;
SET @p1=@p1+REPLICATE('-',4000-LEN(@p1))
SET @p2 = REPLICATE('-',8000)
SET @QueryForDummyObject = N'EXEC(@p1'
WHILE @p <=CEILING(DATALENGTH(@EncryptedObject) / 8000.0)
BEGIN
SET @QueryForDummyObject=@QueryForDummyObject+N'+@f'
SET @p =@p +1
END
SET @QueryForDummyObject=@QueryForDummyObject+')'
EXEC sp_executesql @QueryForDummyObject,N'@p1 NVARCHAR(4000),@f VARCHAR(8000)',@p1=@p1,@f=@p2
SET @DummyObject=(SELECT [imageval] FROM [sys].[sysobjvalues] WHERE [objid] = @objid and [valclass] = 1)
ROLLBACK TRANSACTION
SET @ChunkNumber=1
WHILE @ChunkNumber<=CEILING(DATALENGTH(@EncryptedObject) / 8000.0)
BEGIN
SELECT @EncryptedChunk = SUBSTRING(@EncryptedObject, (@ChunkNumber - 1) * 8000 + 1, 8000)
SELECT @DummyChunk = SUBSTRING(@DummyObject, (@ChunkNumber - 1) * 8000 + 1, 8000)
IF @ChunkNumber=1
BEGIN
SET @ReplacementText=N'CREATE'+SPACE(1)+@objtype+SPACE(1)+ISNULL((@objschemaname+'.'),'')+@objname +SPACE(1)+@objtypicalstm+REPLICATE('-',4000)
END
ELSE
BEGIN
SET @ReplacementText=REPLICATE('-', 4000)
END
SET @ChunkPiece = REPLICATE(N'A', (DATALENGTH(@EncryptedChunk) / 2))
SET @CompareChunksAtPosition=1
WHILE @CompareChunksAtPosition<=DATALENGTH(@EncryptedChunk)/2
BEGIN
SET @ChunkPiece = STUFF(@ChunkPiece, @CompareChunksAtPosition, 1, NCHAR(UNICODE(SUBSTRING(@EncryptedChunk, @CompareChunksAtPosition, 1)) ^ (UNICODE(SUBSTRING(@ReplacementText, @CompareChunksAtPosition, 1)) ^ UNICODE(SUBSTRING(@DummyChunk, @CompareChunksAtPosition, 1)))))
SET @CompareChunksAtPosition=@CompareChunksAtPosition+1
END
PRINT @ChunkPiece
SET @ChunkNumber=@ChunkNumber+1
END
END
ELSE
BEGIN
PRINT 'Use a DAC Connection'
END
END
ELSE
BEGIN
PRINT 'Object not encrypted or not found'
END
SET QUOTED_IDENTIFIER OFF
GO -
Can i compile new procedures/packages on my snapshot standby?
Hi
can i compile new procedures/packages on my snapshot standby?
I need to test the new release of the application, which include some changes to current packages
thanksyes you can do it, just that it will be flashbed back to the restore point when it was standby first, do anything on it, but be aware that later you convert from snapshot standby to physical standby, more time it would take for redo to be applied and also it is mandatory to open the snapshot at least once in read-write mode before it can be converted into a physical standby database.
Regards
Karan -
Creating Sap Crystal Report Through Oracle Stored Procedure Packages
Hi,
1.How we can create crystal report through oracle stored
procedure packages pls tell me the steps through adding command then
tell me the syntax what should i write in command to call the stored
procedure packages or if have some other option then also tell.
2.can
we link stored procedure column to other table column that used in
report.Hi Ganesh,
As this error comes when you are trying to insert non-numeric value into a numeric column in db it seems that your field might be numeric and you are trying to send it as a string in database.
Please check your Store Proc carefully..
Reference Thread: Oracle/PLSQL: ORA-01722
--Dhana -
How is the 'import-packages' information saved in the database, and how long?
Hello,
I am developping a ECM Connector for Adobe LiveCycle ES, which is a customized component.
1 - Who should I contact to have some specific support ?
There is no detailed information yet on this on the adobe site (http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/help/wwhelp/wwhimpl/js/html/w whelp.htm?href=000931.html&accessible=true) .
If you think that I should address my problem to another department of Adobe, please tell me which department?
I give you another description of my problem. In fact, I have been investigating on it.
2 - If I put this in my component.xml file, in step 1:
<component-id>com.rsd.adobe.livecycle.RSDFoldersConnector</component-id>
<version>1.0</version>
<import-packages><package version="1.0">com.rsd.simpleApiFolders</package> </import-packages>
If I change the version to 1.1 and remove the 'import-packages' (in step 2) , will the new component need the com.rsd.simpleApiFolders package. It seems that is still needs it.
3 - How is the 'import-packages' information saved in the database, and how long?
In fact, on thursday, I used 'import-packages' to make a test. And since them, I can not deploy any of my components.
LiveCycle throws a ClassNotFoundException.
ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal error.
[java] at com.adobe.idp.dsc.registry.component.impl.ComponentRegistryImpl$6.doInTransaction(Compone ntRegistryImpl.java:338)
... Caused by: java.lang.ClassNotFoundException: http-0.0.0.0-8080-1Class name com.rsd.simpleApiFolders.Context from package com.rsd.simpleApiFolders not found.
[java] at com.adobe.idp.dsc.DSContainerSearchPolicy.searchClassUsingParentFirst(DSContainerSearchPo licy.java:234)
Thank you in advance
Regards.1 - Who should I contact to have some specific support ?
That would depend on your Adobe support contract and if your organization has a TAM assigned. You should check with your organization's Adobe contact and see what support options your organization has purchased.
Having said that, this forum has a few people that may be able to help (but the forum does not have a SLA associated with it)
2 - If I put this in my component.xml file, in step 1:
<component-id>com.rsd.adobe.livecycle.RSDFoldersConnector</component-id>
<version>1.0</version>
<import-packages><package version="1.0">com.rsd.simpleApiFolders</package> </import-packages>
If I change the version to 1.1 and remove the 'import-packages' (in step 2) , will the new component need the com.rsd.simpleApiFolders package. It seems that is still needs it.If your component class needs the simpleApiFolders class then yes, you still need it. Think of import-packages like a class-path statement (but with packages and not jars). Its not physically moving the package into your application, but allowing you to access it from another container.
3 - How is the 'import-packages' information saved in the database, and how long?
As far as I know they are not imported into the database. As I stated above, I believe that the import-packages just allows you to point to classes that are in the app server's classpath, but are not physically in you component jar file. As long as that class is in the app server class-path (or in the Adobe EAR file) then you should be able to access it. Is the jar file containing the simpleApiFolders class in the app server's lib directory? -
Rest based webservices from plsql procedures/packages
Guyz.
Please let me know How to create Rest based webservices in jdeveloper tool from plsql procedures/packages.
Im very much in need
Thanks,Hi User ,
Welcome to OTN !!
You can refer to these links and figure out -
http://docs.oracle.com/cd/E16162_01/user.1112/e17455/dev_web_services.htm#CHDJIFAE
http://theblasfrompas.blogspot.com/2011/03/developing-restful-web-services-from.html
Also for calling pl/sql packages from Java , use soemthing like this - http://www.coderanch.com/t/302171/JDBC/databases/execute-PL-SQL-program-Java -
Compiling Procedures/Packages/Functions
I'm fairly new to the arena of compiling Procedures/Packages/Funcitons but I was given the task of updating a development DB with a lot of newly created/updated Objects. I have created a shell script to go through all the new files and create or replace all the new objects in sqlplus. My question is how to compile all the newly created objects and their dependencies correctly? I have been using SQL Developer to verify that everything has compiled but I see that some are marked invalid which I assume is because a dependency was compiled after it. What would be my best way to making sure everything is valid? I hope this makes sense but any help would be appreciated.
You can use a script like this to build your own sql statement to compile the invalid objects. You can add your own statement for other object types at the end with a union, ie TYPE body.
You will probably need to run it repeated until all objects are VALID. You can put it in a PL/SQL block with a loop and execute immediate so reduce the manual work.
--PACKAGE
select 'alter package ' || object_name || ' compile;' from user_objects
WHERE Status = 'INVALID'
and object_type= 'PACKAGE'
union
-- PACKAGE BODY
select 'alter package ' || object_name || ' compile body;' from user_objects
WHERE Status = 'INVALID'
and object_type= 'PACKAGE BODY'
union
--PROCEDURE
select 'alter procedure ' || object_name || ' compile;' from user_objects
WHERE Status = 'INVALID'
and object_type= 'PROCEDURE'
union
--FUNCTION
select 'alter function ' || object_name || ' compile;' from user_objects
WHERE Status = 'INVALID'
and object_type= 'FUNCTION'
union
--TRIGGER
select 'alter trigger ' || object_name || ' compile;' from user_objects
WHERE Status = 'INVALID'
and object_type= 'TRIGGER'
union
--VIEW
select 'alter view ' || object_name || ' compile;' from user_objects
WHERE Status = 'INVALID'
and object_type= 'VIEW' -
Hi friends,
I am a new user of oracle. Is there a feature in oracle which enables me to encrypt my procedure. If so how can I achieve that.
Thanks in advance
Thanks
GladyIs there a feature in oracle which enables me to encrypt my procedure.Why?
Unless you have code that contains secrets (such as a decryption key), or have code running on a foreign system and want some form of IP right protection, encrypting your PL/SQL code makes very little sense.
There have been quite a few posters here over the years, literally crying as they have encrypted their PL/SQL code in the database and lost the original copy of the code they had on disk. With encrypted code, you no longer can use the database as the container for the master or backup copy of that code. -
Hi,
How I can ENcrypt stored procedure in oracle?
Thanks.One caveat that the documentation doesn't emphasize nearly strongly enough IMHO is the fact that there is no way to unwrap wrapped code, so you have to make sure that everything is in external source control.
Justin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC -
Procedure argument information
Dear all,
I have a problem of getting stored procedure parameter information, to be exact - I do get information of all fields apart of the Size. (size matters). I used several methods and in each time I get 0 size.
(for example: for RAW(16) types)
Here are the methods I've used:
Oledb - GetSchemaTable OleDbSchemaGuid.Procedure_Parameters
(don't return column size)
OleDb - DeriveParameters (CommandBuilder). Again the same error.
(I use OleDb for .net 1.1 with Oracle provider)
I tried a direct query at sys.all_arguments, I set object_name and owner (uppercases of course) - got null at column size.
Another method I've used is DBMS_DESCRIBE.DESCRIBE_PROCEDURE, I wrapped it to return a clob type which
I parse then (separator between fields).
The problem I had with DESCRIBE_PROCEDURE is the need to give read permission for sys
for every stored procedure I want to get information.
Stored procedures are defined in my DB
CREATE OR REPLACE PROCEDURE UserSINS
( in_UserId in Users.UserId%type
, in_Name in Users.NAME%type
, in_EMAIL in Users.EMAIL%type
, in_PASSWORD in Users.PASSWORD%type
, in_TITLE in Users.TITLE%type
, in_DESCRIPTION in Users.DESCRIPTION%type
, in_PHONE in Users.PHONE%type
, in_ALLOWLOGIN in Users.ALLOWLOGIN%type
, in_LIBRARIAN in Users.LIBRARIAN%type
, in_ADMINISTRATOR in Users.ADMINISTRATOR%type
AS
v_qnt pls_integer;
BEGIN
where Users% is the referenced table and the field that argument is referencing to.
What can I do? Should I modify procedure header to have a type instead of a reference
to type Varchar(40) instead of Users.PHONE%type ? (It seems much cleaner - this way:
I change table schema, all referenced stored procedures automatically changed)
Thanks!
AmirShould I modify procedure header to have a type instead
of a reference to type Varchar(40) You can't do this anyway - the syntax doesn't allow it - although it does permit a reference to type Varchar2, which may be sufficient.
Unfortunately - and I think for people coming from OO background it is unfortunate - you need to look at the Oracle data dictionary and hardcode the column datatypes and sizes in your database mapping layer. The upside of this, if any, is that it will drive you towards removing as much duplication as possible from this layer.
Cheers, APC
Maybe you are looking for
-
Hello, I am using the Power BI for Office 365, and I have published several Excel 2013 workbooks having Power Pivot Data Models. I have a problem on some of the workbooks, once a slicer is selected, I get the error: "An error occurred while working o
-
Can't undo a Huge Mouse Pointer after upgrading from Tiger to Leopard.
I did an upgrade from Leopard to Tiger. When I was on Tiger, I had a setting for a huge mouse pointer. I upgraded to Leopard. No matter how many times I reset the pointer to small, when restarting it goes back to huge. How can I fix this?
-
Mac Mini rez is messed up after update....
I have last gen C2D Mac Mini hooked to my 37" 720 LG TV through the DVI > HDMI. I only use the Mini for music and movies though NetFlix etc. Last night I did updates to OSX etc and after reboot my rez is all messed up. Apple toolbar just slightly off
-
INSERTED IMAGES SUDDENLY BECAME A BLACK BOX
I was almost finalizing one presentation when a dozen images (mostly cliparts) inserted on several slides that are visible in the miniatures of the slides on the navigator but can not be seen on the slide both for editing and for presenting. Maybe I
-
SAP query Transport manual activity in Production
All, Do we really need to use manual step to import the query to production system using some program ? will not be automatic as we do it normal reports ? Why this manual step needed ? Please help me to understand. Ram.