gpt4 book ai didi

ingres - 从 C 连接 Ingres

转载 作者:行者123 更新时间:2023-12-04 07:05:33 26 4
gpt4 key购买 nike

我需要通过 OpenAPI 连接到 Ingres 提供的 demodb,Ingres 和 C 应用程序都在 Windows 上运行。我做了什么:

  • 在 Ingres 网络实用程序中创建了一个名为“usernode”的“节点”。
  • 在 Ingres 安装(命名为“user”密码“user”)和 Windows 用户管理(相同的凭据)中创建用户帐户。
  • 为数据库中的用户授予必要的权限。
  • 在 C 代码中,我使用 IIAPI_CONNPARM 结构调用了 IIapi_connect() 函数。
    使用过的成员:
    co_target = "usernode::demodb",
    co_username = "用户",
    co_password = "用户"

  • 但是 IIapi_connect() 调用返回错误:

    “用户提供了一个 vnode 作为数据库名称的一部分 (vnode::dbname),但缺少该 vnode 的连接信息。使用 NETUTIL 输入 vnode 的连接信息。”

    有人知道一个奇怪的概念“节点”吗?

    成功连接所需的最少步骤(在数据库管理和函数参数传递中)是什么?

    最佳答案

    您收到以下错误,因为您的用户 ID 尚未添加到服务器。

    "User provided a vnode as part of the database name (vnode::dbname), but connection information for that vnode is missing. Enter connection information for the vnode using NETUTIL."



    我猜测传递的用户 ID 是在虚拟节点(又名 vnode)定义中定义的,并且需要将该用户添加到服务器上的用户列表中。以下将从命令行添加用户,将 USERNAME 更改为您要添加的用户名:

    对于 Windows:
    echo "create user USERNAME\g" | sql iidbdb

    对于 UNIX/Linux/OS X:
    sql iidbdb <<EOSQL
    create user USERNAME\g
    \q

    或者,您可以在连接中使用动态 vnode,以便 co_target 指定所有连接信息(包括用户详细信息):
    @server,protocol,listen_address[user,password]::database

    例如
    @localhost,tcp_ip,II[ingres,secret]::iidbdb

    如果您想查看 Ingres 的 OpenAPI 代码的工作示例,请查看 Ingres PECL延期。

    关于ingres - 从 C 连接 Ingres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1158434/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com