Comment récupérer des jeux de schémas à partir du système de fichiers hôte
Quand un HostFileConnection
est ouvert, vous pouvez récupérer des informations de schéma sur les données cibles à l’aide de la GetSchema
méthode . GetSchema
retourne un DataTable
objet rempli avec les lignes et les colonnes qui contiennent les informations de schéma de la cible de la connexion actuelle.
En outre, lorsqu’un DBDataReader
est ouvert, vous pouvez récupérer des informations de schéma sur le jeu de résultats actuel à l’aide de la GetSchemaTable
méthode . GetSchemaTable
retourne un DataTable
objet rempli de lignes et de colonnes qui contiennent les informations de schéma pour le jeu de résultats actuel. L’objet DataTable
contient une ligne pour chaque colonne du jeu de résultats. Chaque colonne de la ligne de la table de schéma est mappée à une propriété de la colonne retournée dans le jeu de résultats, où ColumnName
est le nom de la propriété et la valeur de la colonne est la valeur de la propriété.
Pour récupérer des jeux de schémas à partir du système de fichiers hôte
Ouvrez une connexion au système de fichiers hôte avec un appel à
HostFileConnection
.Appelez
HostfileConnection.GetSchema
pour récupérer les données de schéma.
Exemple
L’exemple de code suivant montre comment récupérer les jeux de schémas à partir d’un objet de connexion. Notez que les objets ETCMLogging et HostFileUtils sont des objets créés par le développeur qui fournissent des fonctionnalités de journalisation et d’utilitaire.
public void CNGetSchema(ETCMLogging.Logging logging, string host, string ccsid, string cnstring, HostFileUtils.Utils.HostFileType hostfiletype)
{
HostFileUtils.Oledb oledb = new HostFileUtils.Oledb();
HostFileUtils.Utils u = new HostFileUtils.Utils();
logging.LogInfo(host);
try
{
// Create connection.
HostFileConnection cn = oledb.CreateConnection(logging);
cn.ConnectionString = cnstring;
DataTable dt = cn.GetSchema();
if (dt.HasErrors)
{
logging.LogFail("returned datatable has errors");
}
// Open the connection.
logging.LogInfo("Open Connection");
cn.Open();
DataTable dt2 = cn.GetSchema();
if (dt2.HasErrors)
{
logging.LogFail("returned datatable has errors");
}
int rowcnt = dt.Rows.Count;
for (int i = 0; i < rowcnt; i++)
{
int colcnt = dt.Rows[i].ItemArray.Length;
for (int o = 0; o < colcnt; o++)
{
u.CompareValues(dt.Rows[i][o].ToString(), dt2.Rows[i][o].ToString(), logging);
}
}
// Close the open connection.
cn.Close();
}
catch (Exception e)
{
logging.LogInfo(e.Message);
logging.LogFail(e.StackTrace);
}
}
Voir aussi
Récupération d’informations dans le système de fichiers hôte
Adaptateur BizTalk pour la configuration de fichiers d’hôte