ADO.NET Provider for DB2

Build 24.0.9060

Foreign Keys

This section describes how to access information about foreign keys by retrieving the ForeignKeys schema collection.

Retrieving Foreign Key Information

To retrieve the ForeignKeys schema collection, call the GetSchema method of the DB2Connection class. You can restrict foreign key information by the catalog, schema, or table name.

Access the results in the DataTable returned. The following example lists the foreign keys for the "Sample"."DB2INST1".Books table.

C#

String connectionString = "Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=test";

using (DB2Connection conn = new DB2Connection(connectionString)) {
  conn.Open();
  DataTable databaseSchema = conn.GetSchema("ForeignKeys", new string[] {"Sample","DB2INST1","Books"});
  foreach (DataRow row in databaseSchema.Rows) {
    Console.WriteLine(row["CONSTRAINT_NAME"]);
    Console.WriteLine(row["TABLE_NAME"]);
  }
}

VB.NET

Dim connectionString As String = "Server=10.0.1.2;Port=50000;User=admin;Password=admin;Database=test"

Using conn As New DB2Connection(connectionString)
  conn.Open()
  Dim databaseSchema As DataTable = conn.GetSchema("ForeignKeys",  New String() {"Sample","DB2INST1","Books")
    For Each row As DataRow In databaseSchema.Rows
    Console.WriteLine(row("CONSTRAINT_NAME"))
    Console.WriteLine(row("TABLE_NAME"))
  Next

End Using

Columns Returned

The ForeignKeys schema collection returns the following information about the foreign keys in DB2.

Column NameData TypeDescription
CONSTRAINT_CATALOGSystem.StringThe database containing the foreign key.
CONSTRAINT_SCHEMASystem.StringThe schema containing the foreign key.
CONSTRAINT_NAMESystem.StringThe name of the foreign key.
CONSTRAINT_TYPESystem.StringReturns FOREIGN KEY.
TABLE_CATALOGSystem.StringThe database of the table containing the foreign key.
TABLE_SCHEMASystem.StringThe schema of the table containing the foreign key.
TABLE_NAMESystem.StringThe name of the table containing the foreign key.
IS_DEFERRABLESystem.StringWhether the foreign key is deferrable. This value is YES or NO.
INITIALLY_DEFERREDSystem.StringWhether the foreign is initially deferrable. This value is YES or NO.

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9060