problem with extracting data from oracle buckup dbf files - oracle

I have dbf files from my client oracle database. Their admin said that is buckup of database. I am trying to opening those files in different editors like open office, excel, dbf manager and others, but it cannot be done because during this action it always says file has incorrect format, or file has incorrect header.
I read a little and it seems that was wrong backup of database or something. I have 7 dbf files and none of them works.
I just want to open those files and make import to csv/excel to export it to new system with sql database

Related

SQLLDR and .ctl files

I have a ddl script to create some tables but the data is in .ctl files and I never use it before. I did some researches but I didn't quite understand how to use SQLLDR. How it works? Can I use some other way to execute the .ctl file? I'm just using PL/SQL and Oracle 10G
The way you put it, it would go like this:
using DDL script, create all those tables
if CTL files contain data, I presume it is within the BEGINDATA section. Fine, couldn't be better because - as soon as you run the loader, it'll know where to find data to be loaded (it also means that control file uses infile *, right?)
you have to have access to SQL*Loader
if you can connect to the database server, it is there
if you're using your own PC, see whether it is installed
along with the Client software
or, you might even have a database on your PC (XE?)
once you have it (the sqlldr.exe), make sure its directory is contained with the PATH environment variable, or - if not - invoke it by specifying the whole path to it
open command prompt of your operating system
navigate to directory that contains CTL files
run the loader as
sqlldr scott/tiger control=file1.ctl log=file1.log
If everything is OK, data will be loaded. Check log files!

Import data from multiple excel files-Oracle PL-SQL

I wish to import data from excel into oracle table.
But my requirement is I Have multiple excel files and each file contains multiple sheets.
But all have the same structure.
Please let me know the suitable way to perform the same.
Can UTL_FILE utitlity be used to perform this extraction.
I don't know how to do it directly from Excel.
Actually, I do, but manually, using TOAD's "Import table data" option. I also don't know what technique stands behind the scene, can only guess:
- it is first temporarily saved as CSV and then loaded
- Excel files are XML so TOAD manipulates such a data
How would I automate it?
save each worksheet into its own CSV file
manual job for me as well. Maybe someone - who knows Excel far better - can write a VBA script or something like that. On the other hand, maybe it is possible to use such a script to directly insert data into an Oracle table ... no idea, sorry
write a SQL Loader control file
load file-by-file, reusing the same control file
how to automate that? Use SQL Loader command line DATA parameter.
how to change it dynamically? Create a wrapper script (on MS Windows, that would be a .BAT script) which would - in a loop - iterate over all those CSV files and feed SQL Loader with new data in every iteration
SQL Loader+s advantage over UTL_FILE (you mentioned) is that
it works locally (on your own PC; you have to install it, of course (if you don't have it already). It comes along with any Oracle database (even XE, Express Edition), or is contained in Oracle Client software under its Utilities), while
for UTL_FILE you have to speak to your DBA in order to get access to the directory (usually located on the database server) which would be then used by the named package.

Oracle XML Report File Size Issue

The xml report generates a huge file (xls) of arounf 800 MB- 1 GB. The system hangs when trying to open the file. Tried opening a 400 MB xls file and saved it as xlsb which reduced the file size to 4.5 MB. Is there a way to generate the output in xlsb format instead of default xls. Oracle Apps version is 12.2.6.
You can use E-text templates to produce a comma separated value (csv) file. It’s usually used for EFT transfers for banks. But you can make it do whatever you want. Since it’s only text, it won’t have any of the formatting markup that an BI publisher would add to an Excel file. You can then open it up in Excel and do what you wish with it.
As far as I'm aware, BI Publisher can not do it and Oracle has an enhancement request logged for this: Bug 24545689 : BI PUBLISHER EXCEL .XLSX TEMPLATE
For large data exports from Oracle EBS into native .xlsx format, you can use a third party solution such as our Blitz Report: www.enginatics.com/faq/#how-does-blitz-report-compare-with-oracle-bi-publisher
It is free for limited use.

How to open DBF file in DBeaver with JDBC

I'm not sure why I can't connect to .DBF files using DBeaver with the built in JDBC driver for "Flat Tiles (CSV/DBF).
I have a share drive with dozens of DBF files on it. I create the connections as shown in the attached images, but when I connect to the source I have two issues. I've included the steps I follow and the error that I get.
Does anyone have experience connecting to DBF files with JDBC and or using the DBeaver tool that might help me here?
I did download that DANS-DBF library JAR from GitHub but I am not sure how I can use it in this situation. I noticed on this site it says
CsvJdbc requires Java version 1.6, or later. For reading DBF files, DANS DBF Library must be downloaded and included in the CLASSPATH.
But I'm not sure how I can add it to DBeaver projects. They don't use build paths like an actual java project.
(I know I can open them in excel, but I prefer this tool for data queries).
I create the database
I select the build in CSV DBF connection type.
The driver properties only had .CSV I tried it with this setting, and when it didn't work, I changed it to .dbf and it still didn't work
I can connect to this folder fine, and i know there are plenty of DBF files in it.
Settings FYI.
When I try to open the one DBF file that appears I get an error message.
I apologize for breathing life into this year and a half old post but I had the same problem and this was the first link on google.
After much research and fiddling I got DBeaver to open a .dbf flat file using most of the settings you already described.
The CSV/DBF JDBC Driver to open dbf files requires DANS DBF as you mentioned and requires its addition to the CLASS PATH. There was limited information on that process and I have found no easy way to modify that in Dbeaver. I also looked through a few other JDBC that supposedly opened xBASE files such as HXTT but they weren't free which was a deal breaker for my use.
I did however get it to work by placing the DANS DBF jar file in the same directory with the csv JDBC driver. It had no trouble finding it as a dependency and ran like a charm.
So for anyone who is looking to do this.
In DBeaver open the driver manager and select the csv flat file
download the driver if needed.
download DANS DBF from souce forge
http://dans-dbf-lib.sourceforge.net
add that file to the driver and make sure you put it in the same directory as the csvjdbc driver. It should be in your user folder .dbeaver-drivers. if you click the driver file and the information button it should give you the filepath.
Then add the DANS DBF file to the driver manager
Make sure you change the file filter type to .dbf as you did otherwise it will hide all .dbf files.
Make a new connction and you are good to go!
a few things to note. I found that the file type extension is case sensitive so if you filter by .dbf then .DBF will not show up in the connection. A few people commented that the JDBC driver doesn't like spaces in filenames and it is a read only driver with a few quirks.
I ran into this issue recently and wanted to share, if you're still having problems of DBeaver stating it cant find Field or getRecordCount, etc. Serphentelm mentioned following the steps and still getting an error. I found that the JAR file from sourceforge is the source, NOT the compiled .class files.
I had to build the jar myself. For those needing it, I put it here:
http://s000.tinyupload.com/index.php?file_id=59469996816520223299
I placed that in the csvjdbc folder mentioned above, then just did "Add File" from the Edit Driver page in DBeaver to add the jar.
For DBeaver 2.22.1:
download dans-dbf-lib-1.0.0-beta-10.jar (e.g. from sourceforge)
in Drivers location, Local folder (in Windows: C:\Users\user\AppData\Roaming\DBeaverData\drivers) create the \drivers\dbf directory. NB 'drivers' must be created under drivers, so ...\DBeaverData\drivers\drivers\...
put dans-dbf-lib-1.0.0-beta-10.jar in this folder
now you can create a new connection using the Embedded/DBF driver

Open an Oracle .dmp file from excel 2007

I have an oracle .dmp file which I would like to open from excel 2007. How do I use the 'get external data' feature to do so? Is it possible in the first place?
It's not possible, no.
Assuming the .dmp file was produced by the Oracle export utility, that is a proprietary, undocumented binary file. Only Oracle's import utility would be able to read it. The import utility can dump the DDL statements for the structure(s) in the dump file to a flat file but if you want to look at the data, you'd need to import that data into an Oracle database.

Resources