Cómo recuperar conjuntos de esquemas del sistema de archivos host
HostFileConnection
Cuando está abierto, puede recuperar información de esquema sobre los datos de destino mediante el GetSchema
método . GetSchema
devuelve un DataTable
objeto rellenado con las filas y columnas que contienen la información de esquema del destino de la conexión actual.
Además, mientras DBDataReader
está abierto, puede recuperar información de esquema sobre el conjunto de resultados actual mediante el GetSchemaTable
método . GetSchemaTable
devuelve un DataTable
objeto rellenado con filas y columnas que contienen la información de esquema del conjunto de resultados actual. El DataTable
objeto contiene una fila para cada columna del conjunto de resultados. Cada columna de la fila de la tabla de esquema se asigna a una propiedad de la columna devuelta en el conjunto de resultados, donde ColumnName
es el nombre de la propiedad y el valor de la columna es el valor de la propiedad .
Para recuperar conjuntos de esquemas del sistema de archivos host
Abra una conexión al sistema de archivos host con una llamada a
HostFileConnection
.Llame
HostfileConnection.GetSchema
a para recuperar los datos del esquema.
Ejemplo
En el ejemplo de código siguiente se muestra cómo recuperar los conjuntos de esquemas de un objeto de conexión. Tenga en cuenta que los objetos ETCMLogging y HostFileUtils son objetos creados por el desarrollador que proporcionan funcionalidad de registro y utilidad.
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);
}
}
Consulte también
Recuperación de información desde el sistema de archivos host
Adaptador de BizTalk para la configuración de Host Files