Solved

C# Import / Export IBM DB2 Database

Posted on 2008-10-02
9
1,524 Views
Last Modified: 2012-05-05
Hello all,

I have a C# application that uses a DB2 database.  I need a method to Export and Import the entire database so that it can be ported to another computer running the same application.

I should mention that this is something that will need to be done many times by 'basic' users - so the simpler the better.

Is there a way to import / export a DB2 databse to some sort of file format?  Doe anyone have any examples.

Thanks in advance.

MAC
0
Comment
Question by:mac-will
  • 5
  • 4
9 Comments
 
LVL 45

Expert Comment

by:Kdo
ID: 22623644
Hi Mac,

IBM provides several tools for backup and restore (or export and import) of databases.

The C# application probably won't come into play.  Unless you can build the command sequence into your application it will be done "offline".

The easiest and most straight-forward is to backup the entire database.  You can restore the entire database, or selected parts of it, on the target system.  The biggest requirement is that the two servers must be of similar kind.  (e.g.  You can not restore a mainframe database to a linux server.)

If you want to extract data from the source database and ADD it to existing tables on the target database, you'll probably want to use export and import.

But if you can federate the two servers (logically connect them so that they can communicate directly with each other) you can load the data into the target database with simple SQL, or either of the methods described above.


Good Luck,
Kent
0
 
LVL 8

Author Comment

by:mac-will
ID: 22623756
Hi Kent,

Thanks.   I really need to do it from the C# application and the exported database will need to eventually be put on something like DVDs.  (This needs to be done by the users of the application)

I am using DB2 - Express C, and it is generally used as a local storage database for this particular application on a windows desktop machine.

Do you have any examples of these tools?

Thanks again.

MAC
0
 
LVL 45

Expert Comment

by:Kdo
ID: 22623954
Hi Mac,

Ok.  The federated idea is out.  (DB2 Express has some limitations as compared with a licensed version and federating the systems is one of them.)  That's not meant to disparage DB2 -- it's still my "weapon of choice".

The DB2 command line interface will have to be installed on the client machine that is going to perform the export.  You can test to see if it's there now by opening up a command line windows and typing 'db2'.  (quit will get you out.)

In the CLI, use the EXPORT command to write the export file.  You should be able to format the EXPORT statement in C# and pass it to the function that executes shell commands.


Kent


0
 
LVL 8

Author Comment

by:mac-will
ID: 22625371
Hi Kent.

Thanks again.  I am doing some reading and it looks like maybe db2move is the command I am looking for?

What is better db2 EXPORT or db2move?

Thanks,

MAC
0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 
LVL 45

Expert Comment

by:Kdo
ID: 22625861
DB2move is not the right tool.  It physically relocates a database (moves the data containers), when what you want to do is extract data from the database.

EXPORT is definitely the right tool here.


Kent
0
 
LVL 8

Author Comment

by:mac-will
ID: 22626002
Hmm... I just quickly tested it and it did not seem to move the original database.
the command I used is:

db2move myDB EXPORT

and it seemed to make the copy to the folder I wanted?  Finally I deleted this folder and my DB is still there.

with the db2 EXPORT I would need to specify all the tables I want to export, correct?

Thanks

MAC
0
 
LVL 45

Expert Comment

by:Kdo
ID: 22626673

How many tables do you want to export?
0
 
LVL 8

Author Comment

by:mac-will
ID: 22626855
This is not known yet.  Probably between 4 and 8.
0
 
LVL 45

Accepted Solution

by:
Kdo earned 500 total points
ID: 22626929
Hi Mac,

According to the DB2MOVE documentation, this may in fact be the right tool.  (I've never used it in this way.)

  db2move databasename EXPORT -tn table1,table2, table3,table4


Then import the tables to the new environment with:

  db2move newdatabasename IMPORT -io replace


Assuming that you want to replace the tables and not append to them.  :)


Kent
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Introduction Although it is an old technology, serial ports are still being used by many hardware manufacturers. If you develop applications in C#, Microsoft .NET framework has SerialPort class to communicate with the serial ports.  I needed to…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now