当前位置:  开发笔记 > 编程语言 > 正文

如何检查连接字符串是否有效?

如何解决《如何检查连接字符串是否有效?》经验,为你挑选了3个好方法。

我正在编写一个用户手动提供连接字符串的应用程序,我想知道是否有任何方法可以验证连接字符串 - 我的意思是检查它是否正确以及数据库是否存在.



1> Marc Gravell..:

你可以尝试连接?对于快速(离线)验证,也许用于DbConnectionStringBuilder解析它...

    DbConnectionStringBuilder csb = new DbConnectionStringBuilder();
    csb.ConnectionString = "rubb ish"; // throws

但要检查数据库是否存在,您需要尝试连接.如果您了解提供商,最简单的当然是:

    using(SqlConnection conn = new SqlConnection(cs)) {
        conn.Open(); // throws if invalid
    }

如果您只将提供程序知道为字符串(在运行时),则使用DbProviderFactories:

    string provider = "System.Data.SqlClient"; // for example
    DbProviderFactory factory = DbProviderFactories.GetFactory(provider);
    using(DbConnection conn = factory.CreateConnection()) {
        conn.ConnectionString = cs;
        conn.Open();
    }


@MarcGravell - 我应该在评论之前更加努力地搜索:)我看到`Dispose()`调用`Close()`

2> Rashad Annar..:

试试这个.

    try 
    {
        using(var connection = new OleDbConnection(connectionString)) {
        connection.Open();
        return true;
        }
    } 
    catch {
    return false;
    }



3> CBlafer..:

如果目标是有效性而不是存在,则以下方法将起作用:

try
{
    var conn = new SqlConnection(TxtConnection.Text);
}
catch (Exception)
{
    return false;
}
return true;

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有