打开和关闭数据库连接 (ADO.NET)

通过 ADO.NET 访问 Vertica 中的数据之前,您必须使用 VerticaConnection 类(此类是 System.Data.DbConnection 的实施)创建与数据库的连接。VerticaConnection 使用包含连接属性作为字符串的单个参数。您可以手动创建属性关键字的字符串以用作参数,或者也可以使用 VerticaConnectionStringBuilder 类构建连接字符串。

要下载 ADO.NET 驱动程序,请转到客户端驱动程序下载页面

本主题详细介绍以下内容:

  • 手动构建连接字符串和连接到 Vertica

  • 使用 VerticaConnectionStringBuilder 创建连接字符串和连接到 Vertica

  • 关闭连接

要手动创建连接字符串:

请参阅 ADO.NET 连接属性,了解在连接字符串中使用的可用属性列表。至少要指定主机、数据库和用户。

  1. 为每个属性提供一个值,并依次附加各个属性和值(用分号分隔)。将此字符串分配给变量。例如:

    String connectString = "DATABASE=VMart;HOST=v_vmart_node0001;USER=dbadmin";
    
  2. 构建指定了连接字符串的 Vertica 连接对象。

    VerticaConnection _conn = new VerticaConnection(connectString)
    
  3. 打开连接。

    _conn.Open();
    
  4. 创建命令对象,并将它与连接相关联。所有 VerticaCommand 对象都必须与连接相关联。

    VerticaCommand command = _conn.CreateCommand();
    

要使用 VerticaConnectionStringBuilder 类创建连接字符串并打开连接:

  1. 创建 VerticaConnectionStringBuilder 类的新对象。

    VerticaConnectionStringBuilder builder = new VerticaConnectionStringBuilder();
    
  2. 使用属性值更新 VerticaConnectionStringBuilder 对象。请参阅 ADO.NET 连接属性,了解在连接字符串中使用的可用属性列表。至少要指定主机、数据库和用户。

    builder.Host = "v_vmart_node0001";
    builder.Database = "VMart";
    builder.User = "dbadmin";
    
  3. 构建将 VerticaConnectionStringBuilder 连接对象指定为字符串的 Vertica 连接对象。

    VerticaConnection _conn = new VerticaConnection(builder.ToString());
    
  4. 打开连接。

    _conn.Open();
    
  5. 创建命令对象,并将它与连接相关联。所有 VerticaCommand 对象都必须与连接相关联。

    VerticaCommand command = _conn.CreateCommand;
    

要关闭连接:

使用完数据库后,关闭连接。如未关闭连接,应用程序的性能和可扩展性会降低。还会导致其他客户端无法获取锁。

 _conn.Close();

示例用法:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Vertica.Data.VerticaClient;
namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            VerticaConnectionStringBuilder builder = new VerticaConnectionStringBuilder();
            builder.Host = "192.168.1.10";
            builder.Database = "VMart";
            builder.User = "dbadmin";
            VerticaConnection _conn = new VerticaConnection(builder.ToString());
            _conn.Open();
        //Perform some operations
            _conn.Close();
        }
    }
}