我需要连接到通过OpenAPI (运行在windows上的Ingres和C应用程序)提供的Ingres。我所做的:
但是IIapi_connect()调用返回一个错误:
“用户提供了一个vnode作为数据库名称的一部分( vnode ::dbname),但是该vnode的连接信息丢失了。使用NETUTIL输入vnode的连接信息。”
有人知道什么是奇怪的概念“节点”吗?
成功连接所需的最小步骤(数据库管理和函数参数传递)是什么?
发布于 2009-07-22 06:09:55
您将得到以下错误,因为您的用户id尚未添加到服务器。
“用户提供了一个vnode作为数据库名称的一部分( vnode ::dbname),但是该vnode的连接信息丢失了。使用NETUTIL输入vnode的连接信息。”
我猜想正在传递的用户id是在虚拟节点(又名node )定义中定义的,并且需要将用户添加到服务器上的用户列表中。下面将从命令行添加一个用户,将用户名更改为您希望添加的用户名:
适用于Windows:
echo "create user USERNAME\g" | sql iidbdb对于UNIX/Linux/OS:
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扩展。
发布于 2009-07-21 12:12:17
有什么问题吗?
https://stackoverflow.com/questions/1158434
复制相似问题