这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

为 Windows 客户端创建 ODBC DSN

若要为 Microsoft Windows 客户端创建 DSN,您必须执行以下任务:

1 - 设置 ODBC DSN

数据源名称 (DSN) 是 ODBC 逻辑名称,用来表示驱动程序和访问数据源中的数据所需的其他信息。此名称由 Internet 信息服务 (Internet Information Services, IIS) 用于与 ODBC 数据源的连接。

此部分介绍如何使用 Vertica ODBC 驱动程序设置 ODBC DSN。本主题假设您已按照在 Windows 中安装客户端驱动程序中所述安装了驱动程序。

设置 DSN

  1. 打开 ODBC 管理器。例如,可以导航到“开始 > 控制面板 > 管理工具 (Administration Tools) > 数据源 (ODBC)”。

  2. 确定是否希望客户端系统上的所有用户都能访问 Vertica 数据库的 DSN。

    • 如果想让所有用户都可访问,则单击系统 DSN (System DSN) 选项卡。

    • 否则,单击用户 DSN 选项卡以创建仅供您的 Windows 用户帐户使用的 DSN。

  3. 单击添加 (Add) 以创建用于连接到 Vertica 数据库的新的 DSN。

  4. 滚动浏览“创建新数据源 (Create a New Data Source)”对话框中的驱动程序列表以查找 Vertica 驱动程序。选择该驱动程序,然后单击完成

    此时将显示 Vertica ODBC DSN 配置对话框。

  5. 单击更多 >>> (More >>>) 按钮,以查看正在编辑的字段和由 DSN 定义的连接字符串的描述。

  6. 输入 DSN 的信息。以下字段是必填的:

    • DSN 名称 — DSN 的名称。客户端使用此名称来标识要连接到的 DSN。DSN 名称必须满足以下要求:

      • 最大长度为 32 个字符。

      • 它由 ASCII 字符组成,但以下字符除外: { } , ; ? * = ! @ \

      • 它不包含空格。

    • 服务器 — 要连接到的 Vertica 服务器的主机名或 IP 地址。如果 Vertica 已安装在同一台计算机上,则使用 localhost。

      您可以提供 IPv4 地址、IPv6 地址或主机名。

      在 IPv4/IPv6 混合网络中,DNS 服务器配置决定了哪个 IP 版本地址最先发送。可使用 PreferredAddressFamily 选项来强制连接使用 IPv4 或 IPv6。

      PreferredAddressFamily 选项在“客户端设置”选项卡上可用。

    • 备份服务器 — 用于在“服务器”字段中指定的服务器已关闭时连接到的主机名或 IP 地址的逗号分隔列表。可选。

    • 数据库 — Vertica 数据库的名称。

    • 用户名 — 在连接到数据库时使用的用户帐户的名称。在连接到 DSN 时,如果应用程序不提供自己的用户名,则会使用此帐户名称登录到数据库。

    其余字段是可选的。有关可以定义的 DSN 参数的详细信息,请参阅 DSN 参数

  7. 如果要测试连接,请执行下列操作:

    1. 至少输入有效的 DSN 名称服务器名称数据库,并输入用户名 或选择 Windows 身份验证

    2. 如果未选择 Windows 身份验证,您可以在密码 框中输入密码。或者,您也可以选择密码提示,以让驱动程序在连接时提示您输入密码。

    3. 单击测试连接

  8. 完成编辑和测试 DSN 后,单击确定。Vertica ODBC DSN 配置窗口将关闭,并且新的 DSN 会在“ODBC 数据源管理器”窗口中列出。

  9. 单击确定 (OK) 以关闭 ODBC 数据源管理器。

创建 DSN 后,您可以使用 Microsoft Excel 2007 进行测试。

在 64 位版本的 Microsoft Windows 上设置 32 位 DSN

在 64 位版本的 Windows 上,ODBC 数据源管理器在默认情况下会创建并编辑与 64 位 Vertica ODBC 库关联的 DSN。

尝试将这些 64 位 DSN 与 32 位客户端应用程序结合使用会生成架构不匹配错误。相反,您必须通过运行 32 位 ODBC 管理器为 32 位客户端创建特定的 32 位 DSN,该管理器通常位于以下位置:

c:\Windows\SysWOW64\odbcad32.exe

此管理器窗口可用于编辑与 32 位 ODBC 库关联的一组 DSN。使用此版本的 ODBC 管理器创建的 DSN 可与 32 位客户端应用程序结合使用。

2 - ODBC DSN 的密码加密

当您安装 ODBC 驱动程序并创建数据源名称 (DSN) 时,DSN 设置(其中包括)将存储在注册表中。ODBC DSN 的密码加密仅适用于 Windows 系统。

对 ODBC 数据源名称 (DSN) 的密码进行加密,可防止未经授权的数据库访问。密码默认不加密,以纯文本形式存储。

启用密码加密

使用 EncryptPassword 参数,可为 ODBC DSN 启用或禁用密码加密:

  • EncryptPassword = true 启用密码加密

  • EncryptPassword = false (默认)禁用密码加密

在 Windows 注册表中设置 EncryptPassword - HKEY_LOCAL_MACHINE > Software > Vertica > ODBC > Driver EncryptPassword=<true/false>

加密密码在以下注册表位置更新:

对于用户 DSN:

HKEY_CURRENT_USER-> Software -> ODBC -> ODBC.INI -> DSNNAME -> PWD

对于系统 DSN:

HKEY_LOCAL_MACHINE-> Software -> ODBC -> ODBC.INI -> DSNNAME -> PWD

验证密码加密

使用 Windows 注册表编辑器,根据 EncryptPassword 的值确定是否已启用密码加密。根据您安装的 DSN 类型,检查以下内容:

对于用户 DSN: HKEY_CURRENT_USER > Software > ODBC > ODBC.INI > dsn name > isPasswordEncrypted=<1/0>

对于系统 DSN: HKEY_LOCAL_MACHINE > Software > ODBC > ODBC.INI > dsn name > isPasswordEncrypted=<1/0>

对于每个 DSN,isPasswordEncrypted 参数值表示密码加密的状态。其中,1 表示密码已加密,0 表示密码未加密。

3 - 使用 Excel 测试 ODBC DSN

可以使用 Microsoft Excel 验证应用程序是否能够连接到 ODBC 数据源或其他 ODBC 应用程序。

  1. 打开 Microsoft Excel,然后选择数据 (Data) > 获取外部数据 (Get External Data) > 来自其他来源 (From Other Sources) > 来自 Microsoft Query (From Microsoft Query)

  2. 当“选择数据源 (Choose Data Source)”对话框打开之后:

    1. 请选择新建数据源 (New Data Source),然后单击确定 (OK)

      1. 输入数据源的名称。

      2. 选择 Vertica 驱动程序。

      3. 单击连接

  3. 当“Vertica 连接对话框 (Vertica Connection Dialog)”打开之后,输入 DSN 的连接信息,然后单击确定 (OK)

  4. 在“创建新数据源”对话框上单击确定,以返回到“选择数据源”对话框。

  5. 选择“VMart_Schema*”,并验证是否已取消选中“使用查询向导 (Use the Query Wizard)”复选框。单击确定 (OK)

  6. 当“添加表”对话框打开后,单击关闭

  7. 当“Microsoft 查询 (Microsoft Query)”窗口打开之后,单击 SQL 按钮。

  8. 在“SQL”窗口中,编写任意简单查询以测试连接。例如:

    SELECT DISTINCT calendar_year FROM date_dimension;
    
  9. *如果您看到提醒“SQL Query 无法以图形表示。是否继续?(SQL Query can't be represented graphically. Continue anyway?)”,请单击**确定 (OK)**。      *数据值 2003、2004、2005、2006、2007 表示已成功连接到 ODBC,并通过 ODBC 执行了查询。
    
  10. 选择文件 (File) > 将数据返回到 Microsoft Office Excel (Return Data to Microsoft Office Excel)

  11. 在“导入数据”对话框中,单击确定

    数据当前在 Excel 工作表中可用。