gpt4 book ai didi

multivalue - 如何获取有关 UniData/UniVerse 数据库的架构信息?

转载 作者:行者123 更新时间:2023-12-03 09:43:07 25 4
gpt4 key购买 nike

我对 UniData 和 UniVerse 数据库有一些(有限的)经验,现在想通过 .NET 框架使用它们。现在使用它们的方法似乎是通过 Rocket Software 的 U2 Toolkit for .NET。

由于我将访问其模式我事先不知道的数据库,因此我需要知道如何不仅查询数据(稍后将提供),而且查询有关数据库本身的信息,例如现有数据库的名称表及其模式。

看起来 Rocket(或者之前拥有 U2 技术的可能是 IBM)在他们的一些实用程序中内置了一些功能,但我真的需要能够以编程方式做到这一点。

有任何想法吗?

最佳答案

您可以通过以下方式使用 U2 Toolkit for .NET 访问 U2 数据库(UniData 或 UniVerse):

  • SQL 访问(UCI 服务器)
  • native 访问(UO 服务器)

  • SQL访问

    对于 SQL Access,您需要规范化 U2 帐户(获取架构)。为此,您可以使用以下工具:
  • HS.ADMIN(用于 UniVerse 数据库)( http://www.rocketsoftware.com/u2/products/u2-clients-and-db-tools/u2-resources/universe-11.1-clients/copy_of_uvodbc-v11r1.pdf/view)
  • VSG(用于 UniData 数据库)
  • MDM(用于 UniVerse 数据库和 UniData 数据库)

  • 您可以使用 U2 Toolkit for .NET 的 U2 Database Provider for .NET (ADO.NET Provider) 进行 SQL 访问

    native 访问

    对于 Native Access,您无需执行任何操作。

    您可以使用 U2 Toolkit for .NET 的 UO API for Native Access。

    示例代码和 MSDN 样式帮助

    安装产品时,有大量关于 SQL Access 和 Native Access 的示例代码。

    对您来说最好的方法是安装 U2 Toolkit for .NET V 1.2.1 并开始开发一些代码。您可以运行几乎所有示例,因为它使用示例数据库(‘HS.SALES’ UniVerse 帐户和‘demo’ UniData 帐户)

    您还可以阅读 U2 Toolkit for .NET V 1.2.1 的 MSDN 样式帮助以获取诸如架构、帐户可访问/获取架构、示例代码等信息。

    enter image description here

    我已经使用 UniData 的演示帐户测试了 U2Connection Class 的 GetSchema()。这个对我有用。请参阅下面的屏幕截图。

    enter image description here
    private void button1_Click(object sender, EventArgs e)
    {
    try
    {
    U2ConnectionStringBuilder conn_str = new U2ConnectionStringBuilder();
    conn_str.UserID = "user";
    conn_str.Password = "pass";
    conn_str.Server = "localhost";
    conn_str.Database = "demo";
    conn_str.ServerType = "UNIDATA";
    conn_str.Pooling = false;
    string s = conn_str.ToString();
    U2Connection con = new U2Connection();
    con.ConnectionString = s;
    con.Open();
    this.textBox2.AppendText("Connected......."+Environment.NewLine);
    this.textBox2.AppendText("CALLING ....... DataTable dt = con.GetSchema(\"Tables\");"+Environment.NewLine);
    DataTable dt = con.GetSchema("Tables");
    this.dataGridView1.DataSource = dt.DefaultView;
    con.Close();
    }
    catch (Exception e2)
    {

    this.textBox2.AppendText(e2.Message);
    }
    }

    看起来您的“演示”帐户未规范化。你能运行“sql> select * from SQLTables;”来自 TCL 命令。你看到以下内容了吗?
    如果没有,那么您可以执行以下操作之一:
  • 运行 VSG 工具(阅读 VSG 手册)
  • 运行 MDM 工具(阅读 MDM 手册)
  • 从 TCL 命令运行命令行:
     o    Convert.sql STUDENT (Read Unidata  Manual for convert.sql command)
    o Grant privilege
    o MIGRATE.SQL

  • enter image description here

    关于multivalue - 如何获取有关 UniData/UniVerse 数据库的架构信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16695817/

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