Click here to Skip to main content
Click here to Skip to main content

Multiple Database Connection File Manager

, 31 Jul 2008
Rate this:
Please Sign up or sign in to vote.
Utility to manage multiple DB connection strings for an application.

Introduction

This application is intended to be integrated with an existing program, or become the shell of a new project that will utilize multiple database connections to Oracle and SQL Server database platforms.

Background

Many applications use a database as a backend source of data. In doing so, connecting to multiple databases is required, especially from a QA perspective. Customers also enjoy the ability to edit connections without having to edit XML or text configuration files due to the complexity of the files and lack of technical knowledge. I created this originally as a shell for a Data Generation utility for a software package I am testing. I ended up using an existing DAL that we had, so I shelved this. I decided that the effort I put into may save someone else time, so here it is.

Using the code

The code is straightforward in most areas, and is documented pretty well. I will say the XML / XPath portion is a little more complex. I want to thank Michael Chao as I used one of his programs from CodeProject as a starting base for editing the XML connection file. His article can be found here:

Here is a snippet for creating a new connection (string):

// Here is an example of the Create Connection Method using XML
private void CreateConnectionInXML()
{
    string FileNameNew = DataConnection.ConnectionFileLocation;
    
    // Determine Selected DB Type and set variable to write to xml
    int dbtypenew;                       
    if (comboBoxDBType.SelectedIndex == 0)
        dbtypenew = 1;
    else
        dbtypenew = 2;

    try
    {
        // Create an XML Reader, Open Document, Read, Close Reader
        XmlTextReader reader = new XmlTextReader(FileNameNew);
        XmlDocument docnew = new XmlDocument();
        docnew.Load(reader);
        reader.Close();
        XmlNode currNode;

        XmlDocumentFragment docFrag = docnew.CreateDocumentFragment();
        docFrag.InnerXml = "<connection>" +
            "<title>" + textBoxConnTitle.Text + "</title>" +
            "<server>" + textBoxServerName.Text + "</server>" +
            "<database>" + textBoxDatabaseName.Text + "</database>" +
            "<dbtype>" + dbtypenew  + "</dbtype>" +
            "<username>" + textBoxUsername.Text + "</username>" +
            "<password>" + textBoxPassword.Text + "</password>" +
            "</connection>";
        
        currNode = docnew.DocumentElement;
        currNode.InsertAfter(docFrag, currNode.LastChild);
        //save the output to a file 
        docnew.Save(FileNameNew);
        this.DialogResult = DialogResult.OK;
    }
    catch (Exception ex)
    {
        MessageBox.Show("Exception: {0}", ex.ToString());
        this.DialogResult = DialogResult.Cancel;
    } 
}

This program was written with Visual Studio 2008 for .NET 3.5. I am sure it could be modified to work with lower versions.

Here are some screenshots:

Main Form

Edit Form

Points of interest

I will say this is my very first coding project outside of school. I am still working on the main tool I am creating, and wish I could show it here, but cannot for business reasons. I hope this helps someone, and welcome any feedback as I am just getting started in the software development field.

History

  • Version 1.0.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

TSells
Tester / Quality Assurance
United States United States
No Biography provided

Comments and Discussions

 
-- There are no messages in this forum --
| Advertise | Privacy | Mobile
Web01 | 2.8.140827.1 | Last Updated 31 Jul 2008
Article Copyright 2008 by TSells
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid