Recover data from encrypted btrieve file - data-recovery

i've a simple question, but huge issue for me.
i have need to recover the data which is in a encrypted btrieve file, for migration purpose, but i can't access to the record structure.
Someone knowns a technique for that? or opensource program?
Thanks for any help or direction to go.

By "encrypted," do you mean it has an owner name or do you mean that when you open it in a text editor, it looks strange?
Btrieve data files require the Btrieve / Pervasive PSQL engine in order to be read. Once you have the engine, you can open it and read it. You'll still need to know the record layout (or guess) in order to extract meaningful data from it. Btrieve files do not store field metadata so any Btrieve tool will only see the record as a collection of bytes.
If you know the record structure, you can create a table definition using DDF Builder or the Pervasive Control Center, and then access the table using ODBC (or JDBC, ADO.NET, PDAC, ActiveX, or OLEDB) and extract the data using your favorite tool.

Related

Data redaction by oracle

In my current project i have a challenge regarding data redaction. we do not get data from Client because they have sensitive information in some of the columns. So to get the data from them we decided to encrypt the data and then it will come to us.
I am struggling to find an inbuilt algorithm in oracle which encrypt the data. One of the main objective of mine is:
1.) Length of my original input should remain the same after data redaction.
2.) Data type of my original input should remain after data redaction.
Can you please give me your input to achieve this.
Thanks and Regards
Ankit.
There are various options to encrypt your data, you can build your own PLSQL procedures using the DBMS_CRYPTO builtin package.
https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_crypto.htm#ARPLS65670
Or if you use Enterprise Edition of oracle:
transparent data encryption:
https://docs.oracle.com/cd/E11882_01/network.112/e40393/asotrans.htm#ASOAG600
and if you have 12c, you can use Oracle Data Redaction:
http://www.oracle.com/technetwork/articles/database/data-redaction-odb12c-2331480.html
The advantage of the last one is that the data is not touched inside the database, Oracle Data Redaction acts as an upper layer masking data on the fly before it is returned to the application.

Serializing query result

I have a financial system with all its business logic located in the database and i have to code an automated workflow for transactions batch processing, which consists of steps listed below:
A user or an external system inserts some data in a table
Before further processing a snapshot of this data in the form of CSV file with a digital signature has to be made. The CSV snapshot itself and its signature have to be saved in the same input table. Program updates successfully signed rows to make them available for further steps of code
...further steps of code
Obvious trouble is step#2: I don't know, how to assign results of a query as a BLOB, that represents a CSV file, to a variable. It seems like some basic stuff, but I couldn't find it. The CSV format was chosen by users, because it is human-readable. Signing itself can be made with a request to external system, so it's not an issue.
Restrictions:
there is no application server, which could process the data, so i have to do it with plsql
there is no way to save a local file, everything must be done on the fly
I know that normally one would do all the work on the application layer or with some local files, but unfortunately this is not the case.
Any help would be highly appreciated, thanks in advance
I agree with #william-robertson. you just need to create a comma delimited values string (assuming header and data row) and write that to a CLOB. I recommend an "insert" trigger. There are lots of SQL tricks you can do to make that easier). On usage of that CSV string will need to be owned by the part of the application that reads it in and needs to do something with it.
I understand yo stated you need to create a CVS, but see if you could do XML instead. Then you could use DBMS_XMLGEN to generate the necessary snapshot into a database column directly from the query for it.
I do not accept the concept that a CVS is human-readable (actually try it sometime as straight text). What is valid is that Excel displays it in human-readable form. But is should also be able to display the XML as human-readable. Further, if needed the data in it can be directly back-ported into the original columns.
Just a alternate idea.

Can Core Data content be edited directly?

I've been using Core Data for about a week now, and really loving it, but one minor issue is that setting default values requires going through and setting up a temp interface to load the data, which I then do away with once I have the data seeded. Is there any way to edit values in a table, like how you can use phpMyAdmin to manipulate values in a MySQL database? Alternately, is there a way to write a function to import seed values from something like a Numbers spreadsheet if it doesn't detect the storedata XML file?
For your first question, you could edit the file directly but it's highly recommended you don't. How to edit it depends entirely on the store type you selected.
Regarding importing or setting up pre-generated data, of course: you can write code to manually insert entity instances into your Managed Object Context. There's a dedicated section on this very topic in the documentation. Further, if you have a lot of data to import, there's even a section on how to do this efficiently.
Is there any way to edit values in a
table, like how you can use phpMyAdmin
to manipulate values in a MySQL
database?
Xcode has a means of creating a quick and dirty interface for a data model. You just drag the data model file into a window in interface builder and it autogenerates an interface for you. This lets you view the data without having to have your entire app up and running.

load data into text file from oracle database views

I want to load data into text file that is generated after executing "views" in Oracle?How can I achieve this in oracle using UNIX.for example-
I want the same in Oracle on unix box.Please help me out as it alredy cosume lots of time.
your early response is highly appreciated!!
As Thomas asked, we need to know what you are doing with the "flat file". For example, if you're loading it into spreadsheet or doing some other processing that expects a defined format, then you need to use SQL*Plus and spool to a file. If you're looking to save a table (data + table definition) for moving it to another Oracle database then EXP/IMP is the tool to use.
We generally describe the data retrieval process as "selecting" from a table/view, not "executing" a table/view.
If you have access to directories on the database server, and authority to create "Directory" objects in Oracle, then you have lots of options.
For example, you can use the UTL_FILE package (part of the PL/SQL built-ins) to read or write files at the operating system level.
Or use the "external table" functionality to define objects that look like single tables to Oracle but are actually flat files at the OS level. Well documented in the Oracle docs.
Also, for one-time tasks, most of the tools for working SQL and PL/SQL provide facilities for moving data to and from the database. In the Windows environment, Toad's good at that. So is Oracle's free SQLDeveloper, which runs on many platforms. You wouldn't want to use those for a process that runs every day, but they're fine for single moves. I've generally found these easier to use than SQLPlus spooling, but that's a primitive version of the same functionality.
As stated by others, we need to know a bit more about what you're trying to do.

User Interface for creating Oracle SQL Loader control file

Is there a good user interface for authoring Oracle SQL Loader control files? PL/SQL Developer includes a "Text Importer" feature (that reminds one of the Excel import wizard) to import text files into tables, but uses a proprietary format instead of the SQL Loader format. Something like this for the SQL Loader format would be quite helpful.
TOAD has an interface to do SQL*Loads, it can generate the control files too...
http://www.toadsoft.com/get2know9/#Loader
The TOAD answer is probably the best at present. However, in trying out the TOAD SQL Loader wizard, I was disappointed at the level of usability. It assumed that I had a pre-existing table to load the data into. I was looking for something that would let me first
locate columns in the fixed-width input file, then
analyze the columns for candidate names and data types, then
generate a table and control file for loading the data
Since I couldn't find anything that would adequately meet my needs, I created a utility for the purpose. The utility is somewhat custom to my specific needs (fixed-width file format, headers on top, dashed divider separating headers from data, white space between columns) and only supports the SQL Loader features that I required. If I have opportunity to flesh it out to something more universally usable, I'd be happy to post it for the community.

Resources