5

我无法从 u2.net 工具包访问 UniData 数据。我可以正常连接 - 已经使用“测试连接工具”测试了连接,并且在代码中,两个连接都可以正常工作。我的问题是当我尝试填充数据集时 - 使用示例代码:我收到此错误:

[U2][UCINET][UNIDATA]:You have no privilege on file THENAME

这是代码:

           U2Connection con = new U2Connection();
        try
        {
            U2ConnectionStringBuilder conn_str = new U2ConnectionStringBuilder();
            conn_str.UserID = "id";
            conn_str.Password = "pwd";
            conn_str.Server = "srv2";
            conn_str.Database = "DB.XXX";
            conn_str.ServerType = "UNIDATA";
            conn_str.RpcServiceType = "udserver";


            con.ConnectionString = conn_str.ToString();
            con.Open();
            DataTable schema = con.GetSchema();
            U2DataAdapter da = new U2DataAdapter("SELECT * FROM THENAME ", con);
            DataSet ds = new DataSet();
            da.Fill(ds);
        }
        catch (Exception ex)
        {
            string lStr = ex.Message;
        }
        finally
        {
            con.Close(); 

还有 1 个注意事项,我有一个 ODBC 连接设置。通过 ODBC,我可以在 SQL Server 链接服务器中使用相同的凭据来成功访问相同的查询。任何想法,将不胜感激。

4

2 回答 2

2

默认情况下,UniData授予通过 SQL 访问文件的权限。

您将需要CONVERT.SQL从数据库运行以授予文件权限。

HELP CONVERT.SQL您可以通过在命令行上运行或阅读手册来了解有关该命令的更多信息。

于 2012-10-18T23:40:08.793 回答
0

你能运行 TCL 命令吗?

从特权中选择 *;

你在那儿看到 THENAME 吗?例如,请参阅随附的 VOC 文件屏幕截图。

在此处输入图像描述

在此处输入图像描述

于 2012-10-23T03:57:52.583 回答