我无法从u2.net工具箱访问UniData数据。我能够正常连接-已使用“测试连接工具”测试了连接,并且在代码中,两个连接都能正常工作。我的问题是当我尝试使用示例代码填充数据集时:出现此错误:
[U2][UCINET][UNIDATA]:You have no privilege on file THENAME
Run Code Online (Sandbox Code Playgroud)
这是代码:
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();
Run Code Online (Sandbox Code Playgroud)
还有1个注意事项,我有一个ODBC连接设置。通过ODBC,我可以在SQL Server链接服务器内部使用相同的凭据来成功访问相同的查询。任何想法,将不胜感激。
我在使用U2 Toolkit的一些基本概念时遇到了一些困难(我之前的版本已经非常成功!).
首先,我必须使用U2.Data.Client.UO添加; 为了引用UniSession或UniFile.这可能只是普遍的无知,但是没有'使用U2.Data.Client'意味着我也想要它下面的.UO东西?!?
第二 - 通过U2Connection的Open()或UniSession的OpenSession()连接之间的区别(概念上)是什么?他们每个人都提供不同的工作环境吗?
最后 - 虽然文档和Rajan的各篇文章中提供的示例都很有用,但我想要一些更实用的东西:如何简单地"这里是如何读取和写入Unidata文件中的特定记录"?
谢谢!
我对UniData和UniVerse数据库有一些(有限的)经验,现在想通过.NET框架与它们一起工作.现在看来,与他们合作的方式是通过Rocket Software的U2 Toolkit for .NET.
由于我将访问其模式我不会事先知道的数据库,我需要知道如何查询数据库而不仅仅是数据(将在稍后出现),而是有关数据库本身的信息,例如现有的名称表及其模式.
看起来Rocket(或者可能是以前拥有U2技术的IBM)在其某些实用程序中内置了一些功能,但我真的需要能够以编程方式执行此操作.
有任何想法吗?