Compartir a través de


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

  1. Abra una conexión al sistema de archivos host con una llamada a HostFileConnection.

  2. 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