检查从 C# 应用程序到 Oracle 10g 数据库的连接

发布于 2024-12-05 12:11:15 字数 223 浏览 3 评论 0原文

如何检查从 C# 应用程序到 Oracle 10g 数据库的连接?

例如,我的机器上有 Oracle 服务器,IP 为 10.50.65.2。我在app.config中维护IP、端口。

我将应用程序移动到连接到另一个网络的另一台电脑。我需要检查是否可以与数据库服务器创建正确的连接。

如果不可能创建我需要的数据库连接 仅显示简单消息请修改 app.config 中的数据库连接数据。

How can I check connection from C# app to oracle 10g database?

For example I have Oracle server on machine with IP 10.50.65.2. I maintain IP, Port in app.config.

I move app to another pc connected to another network. I need check if it is possible create correct connection with database server.

If it is not possible create db connection I need
show only simple message please modify db connection data in app.config.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

那小子欠揍 2024-12-12 12:11:15

为什么不尝试创建连接并在失败时捕获异常?

也许是这样的:

public bool CheckConnection()
{
    string connectionString = ""; //Get from configuraiton.
    using(var conn = new OracleConnection(connectionString))
    {
        try
        {
            conn.Open();
            return true;
        }
        catch
        {
            return false;
        }
    }
}

Why don't you just try to create the connection and catch the exception if it fails?

Perhaps something like this:

public bool CheckConnection()
{
    string connectionString = ""; //Get from configuraiton.
    using(var conn = new OracleConnection(connectionString))
    {
        try
        {
            conn.Open();
            return true;
        }
        catch
        {
            return false;
        }
    }
}
谁的新欢旧爱 2024-12-12 12:11:15
if(conn.State == ConnectionState.Open)
{
    conn.Close();
}

这对我在 Oracle 11g 上有用

if(conn.State == ConnectionState.Open)
{
    conn.Close();
}

This worked for me on Oracle 11g

独夜无伴 2024-12-12 12:11:15

也许尝试这样的事情?

OracleConnection conn = new OracleConnction(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
try{
    conn.Open();
catch(Exception){
    System.Console.Out.WriteLine("Please modify db connection data in app.config.")
}

try something like this maybe?

OracleConnection conn = new OracleConnction(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
try{
    conn.Open();
catch(Exception){
    System.Console.Out.WriteLine("Please modify db connection data in app.config.")
}
深海少女心 2024-12-12 12:11:15

oracle 连接有一个 .Open,

所以你会做这样的事情

 if (conn.State  == OracleConnection.Open)
    {  
           //connection is already open
    }
    else 
    {
        //connection is in another state and can be used
    }

请注意,我假设你知道你的状态,因为你使用的是静态 ip 以及在你的 app.config 中定义的。否则我会说克里斯的回答如果您没有单例来保持与数据库的连接,则可以使用。

The oracle Connection has a .Open

so you would do something like this

 if (conn.State  == OracleConnection.Open)
    {  
           //connection is already open
    }
    else 
    {
        //connection is in another state and can be used
    }

Mind you I am assuming that you know your state since you are using a static ip and such defined in your app.config. Otherwise I would say Chris's Answer will work if you do not have a singleton holding your connection to the DB.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文