News
  • Favorite
  • Facebook
  • Twitter
  • LinkedIn

Microsoft Press Pearson Education (InformIT)
Skip Navigation Links
Pearson Education (InformIT)
How to: Test that an Application can establish a Connection to Oracle Database using C#

Sometimes your application connects to database for querying, inserting and deleting data from tables. You need to make sure that the database is running and accept incoming queries across the network. For Oracle Databases you can use tnsping command to test that the database is running as follows:

tnsping [Net Service Name] [Count]

But if you want to make sure that your application can establish a connection to Oracle Database?

Using the Code:

To make sure that your application can establish a connection to database, follow these steps:

1.       Create a new windows application using Visual Studio 2005/2008/2010.

2.       Rename Form1 to ConnectionForm.

3.       Add a TextBox to the ConnectionForm and rename it to DataSourceTextBox.

4.       Add another TextBox to the ConnectionForm and rename it to UserIdTextBox.

5.       Add another TextBox to the ConnectionForm and rename it to PasswordTextBox and set the PasswordChar property to * character.

6.       Import the System.Data and System.Data.OracleClient namespaces using the following statement:

using System.Data;

using System.Data.OracleClient;

7.       The System.Data namespace provides access to classes that represent the ADO.NET architecture. ADO.NET lets you build components that efficiently manage data from multiple data sources.

8.       The System.Data.OracleClient namespace is the .NET Framework Data Provider for Oracle.

9.       Add an ErrorProvider component to the ConnectionForm and name it errorProvider. The Error Provider  provides a user interface for indication that a control on the form has an error associated with it.

10.    Add a Button to the ConnectionForm and name it TestConnButton and double click the TestConnButton in the designer to create the Click event handler in the code.

11.   Add the following code to the TestConnButton Click Event Handler:

private void TestConnButton_Click(object sender, EventArgs e)

{

    try

    {

        errorProvider.Clear();

 

        if (string.IsNullOrEmpty(DataSourceTextBox.Text))

        {

            errorProvider.SetError(DataSourceTextBox, "Required");

            return;

        }

 

        if (string.IsNullOrEmpty(UserIDTextBox.Text))

        {

            errorProvider.SetError(UserIDTextBox, "Required");

            return;

        }

 

        if (string.IsNullOrEmpty(PasswordTextBox.Text))

        {

            errorProvider.SetError(PasswordTextBox, "Required");

            return;

        }

 

        connString = "Data Source={0};Persist Security Info=True;"

            + "User ID={1};Password={2};Unicode=True";

        connString = string.Format(connString, DataSourceTextBox.Text,

            UserIDTextBox.Text, PasswordTextBox.Text);

        OracleConnection oracleConnection = new OracleConnection(connString);

        oracleConnection.Open();

 

        MessageBox.Show("Test Connection Succeeded", "Success",

            MessageBoxButtons.OK, MessageBoxIcon.Information);

 

        oracleConnection.Close();

    }

    catch (OracleException ex)

    {

        MessageBox.Show(ex.Message, ex.Message,

            MessageBoxButtons.OK, MessageBoxIcon.Error);

    }

    catch (InvalidOperationException ex)

    {

        MessageBox.Show(ex.Message, ex.Message,

            MessageBoxButtons.OK, MessageBoxIcon.Error);

    }

    catch (Exception ex)

    {

        MessageBox.Show(ex.Message, ex.Message,

            MessageBoxButtons.OK, MessageBoxIcon.Error);

    }

    finally

    {

    }

}

a.       First of all we clear any error in the errorProvider component by calling the Clear method of the errorProvider.

b.      We then check that the user enters a value in the DataSourceTextBox and we notify him if no value is entered. You will see a blinking red image beside the text box if no value is entered and if you stop the mouse over it a tooltip is displayed with a required text.

c.       We then check that the user enters a value in the UserIdTextBox and we notify him if no value is entered. You will see a blinking red image beside the text box if no value is entered and if you stop the mouse over it a tooltip is displayed with a required text.

d.      We then check that the user enters a value in the PasswordTextBox and we notify him if no value is entered. You will see a blinking red image beside the text box if no value is entered and if you stop the mouse over it a tooltip is displayed with a required text.

e.      We create a string variable that holds the connection string that contains placeholders for data source, user Id and password.

f.        Replace the place holders of the connString instance using string.Format method.

g.       Create an instance of the OracleConnection class, name it oracleConnection and pass the connection string to the constructor of the OracleConnection class.

h.      We then call oracleConnection open method to establish a connection to the database. This stage determines if the connection is established or not.

i.         If the connection is established a message box will be displayed stating that “Test Connection Succeeded “.

j.        If the connection could not be established a message box will be displayed stating that there is an exception and the exception message is displayed. You can use the exception message to review the error and test again.

k.       We then call oracleConnection close method to close the database connection and releases any resources associated with the connection. The Close method rolls back any pending transactions. It then releases the connection to the connection pool, or closes the connection if connection pooling is disabled.

 

12.   Now compile and run the application.

13.   Enter any TNS Service Name in the DataSourceTextBox, user name in the UserIdTextBox and password in the PasswordTextBox and click on the TestConnButton.

14.   You will be notified if the connection to the database is established or not.

Now you have an application that can make sure that your application can test establishing a connection to Oracle Database or not.

(230) Comments

Blog Message http://nymultiplelisting.com/__media__/js/netsoltrademark.php?d=forums.ggcorp.ninja%2Fspace-uid-4937379.html

Thanks-a-mundo for the article post.Really looking forward to read more. Cool.


Blog Message http://financial-strategy.net/__media__/js/netsoltrademark.php?d=bbs.temox.com%2Fhome.php%3Fmod%3Dspace%26uid%3D756308

Im thankful for the article post.Really thank you! Great.


Blog Message http://proline.physics.iisc.ernet.in/wiki/index.php/The_Apple_Iphone_Designed_Uncomplicated_For_You_Issues_You_Should_Really_Know..._Information_Number_15_From_394

Right now it appears like Movable Type is the preferred blogging platform out there right now. (from what I ave read) Is that what you are using on your blog?


Blog Message http://fso-lawprac.com/__media__/js/netsoltrademark.php?d=www.laterrazza-beb.com%2Findex.php%3Foption%3Dcom_k2%26view%3Ditemlist%26task%3Duser%26id%3D1019234

Thank you for your article post.Really thank you! Keep writing.


Blog Message https://www.tvcontinental.tv/peoples-choice-awardsmicheal-b-jordan-will-take-off-my-dress-tonight-nicki-minaj/#

This blog was how do you say it? Relevant!! Finally I have found something which helped me. Thanks a lot!


Blog Message https://vargasfitzgerald6308.de.tl/This-is-our-blog.htm?forceVersion=desktop

It'а†s really a great and helpful piece of information. I'а†m glad that you just shared this helpful information with us. Please stay us up to date like this. Thanks for sharing.


Blog Message http://newgreenpromo.org/2018/11/07/pc-games-absolutely-free-download-for-windows-788-110xp-8/

Im grateful for the article.Much thanks again. Want more.


Blog Message https://www.prospernoah.com

Tumblr article I saw a writer talking about this on Tumblr and it linked to


Blog Message http://omegaagro.pro/story.php?id=1468

This blog is obviously educating and also factual. I have discovered helluva useful stuff out of this blog. I ad love to go back every once in a while. Cheers!


Blog Message https://pastebin.com/u/stitchwind11

I think this is a real great blog post. Great.


Blog Message http://www.masteromok.com/members/vaulttrade96/activity/485463/

Im thankful for the blog post.Really thank you!


Blog Message https://telegra.ph/Guenstigster-Preis-zu-Generika-Cialis-in-oesterreich-10-26

What as Happening i am new to this, I stumbled upon this I ave found It absolutely useful and it has helped me out loads. I hope to contribute & assist other users like its helped me. Great job.


Blog Message http://www.91zazhi.com/space-uid-292421.html

What as up mates, how is all, and what you desire to say concerning this piece of writing, in my view its really amazing designed for me.


Blog Message http://surfshoponline.com/__media__/js/netsoltrademark.php?d=eaglamorous.tumblr.com%2Fpost%2F179310450143%2Fessential-information-on-different-varieties-of

What? Happening i am new to this, I stumbled upon this I ave found It positively helpful and it has aided me out loads. I hope to contribute & help other users like its aided me. Great job.


Blog Message http://mailstatusquo.com/2018/10/26/unbelievable-way-to-risk-on-the-web-is-not-going-to-let-you-down/

What as up to every body, it as my first visit of this blog; this blog carries awesome and truly fine information for visitors.

First Previous 1 2 3 4 5 6 7 8 9 10  ... Next Last 
Rating
Name
Email
Comment