4

私は UniData および UniVerse データベースの (限られた) 経験があり、.NET フレームワークを介してそれらを操作したいと考えています。現在、それらを使用する方法は、Rocket Software の U2 Toolkit for .NET を使用しているようです。

アプリオリにスキーマが分からないデータベースにアクセスするので、データベースにクエリを実行してデータ (後で説明します) だけでなく、データベース自体に関する情報 (既存のテーブルとそのスキーマ。

どうやら Rocket (あるいは以前に U2 テクノロジを所有していたのは IBM だったかもしれません) は、その機能の一部をユーティリティの一部に組み込んでいるように見えますが、これをプログラムで実行できるようにする必要があります。

何か案は?

4

2 に答える 2

5

U2 Toolkit for .NET を使用して、次の方法で U2 データベース (UniData または UniVerse) にアクセスできます。

  1. SQL アクセス (UCI サーバー)
  2. ネイティブ アクセス (UO サーバー)

SQL アクセス

SQL Access の場合、U2 アカウントを正規化する (スキーマを取得する) 必要があります。これには、次のツールを使用できます。

  1. 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 )
  2. VSG (UniData データベース用)
  3. MDM (UniVerse データベースおよび UniData データベース用)

U2 Toolkit for .NET の U2 Database Provider for .NET (ADO.NET Provider) を SQL アクセスに使用できます。

ネイティブ アクセス

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 スタイル ヘルプを参照することもできます。

ここに画像の説明を入力

U2Connection クラスの GetSchema() を UniData のデモ アカウントでテストしました。わたしにはできる。以下のスクリーンショットを参照してください。

ここに画像の説明を入力

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 コマンドから。以下が見えますか?そうでない場合は、次のいずれかを実行できます。

  1. VSG ツールを実行する (VSG マニュアルを読む)
  2. MDM ツールを実行する (MDM マニュアルを読む)
  3. TCL コマンドからコマンド ラインを実行します。

     o    Convert.sql STUDENT (Read Unidata  Manual for convert.sql command)
     o    Grant privilege
     o    MIGRATE.SQL
    

ここに画像の説明を入力

于 2013-05-23T03:55:14.487 に答える
1

U2 Toolkit for .NET v1.3.0 は、GetSchema() API で「ForeignKeys」と「ForeignKeysColumns」をサポートします。以下の図 1、図 2、図 3、および図 4 を参照してください。

図1

図2

図3

図4

于 2013-12-12T01:16:49.983 に答える