【问题标题】:Accessing UniData through .net通过 .net 访问 UniData
【发布时间】:2012-10-09 09:40:52
【问题描述】:

我在从 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 链接服务器中使用相同的凭据来成功访问相同的查询。 任何想法将不胜感激。

【问题讨论】:

    标签: sql .net u2 unidata u2netdk


    【解决方案1】:

    请运行 TCL 命令好吗?

    从特权中选择 *;

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

    【讨论】:

      【解决方案2】:

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

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

      您可以通过在命令行上运行HELP CONVERT.SQLreading the manuals 来了解有关该命令的更多信息。

      【讨论】:

      • 所以即使我可以通过 ODBC 从 SQL Server 访问数据 - 这并不意味着 CONVERT.SQL 已经运行?
      • 这个问题解决了吗?您能否尝试指定列名而不是 *.例如: SELECT COL1 FROM THENAME;
      猜你喜欢
      • 2010-10-24
      • 2020-10-03
      • 2013-09-10
      • 1970-01-01
      • 1970-01-01
      • 2014-10-29
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多