Compartir a través de


IRowsetFastLoad::InsertRow (OLE DB)

Agrega una fila al conjunto de filas de copia masiva.

Sintaxis

HRESULT InsertRow(
      HACCESSOR hAccessor,
      void* pData);

Argumentos

  • hAccessor[in]
    El identificador del descriptor de acceso que define los datos de fila para la copia masiva. El descriptor de acceso al que se hace referencia es un descriptor de acceso de fila, que enlaza la memoria propia del consumidor que contiene los valores de datos.

  • pData[in]
    Puntero a la memoria propia del consumidor que contiene los valores de datos. Para obtener más información, vea Estructuras DBBINDING.

Valores de código de retorno

  • S_OK
    El método se ejecutó correctamente. Los valores de estado enlazados de todas las columnas tienen el valor DBSTATUS_S_OK o DBSTATUS_S_NULL.

  • E_FAIL
    Se ha producido un error. Hay información disponible sobre el error en las interfaces de error del conjunto de filas.

  • E_INVALIDARG
    El argumento pData se estableció en un puntero NULL.

  • E_OUTOFMEMORY
    SQLNCLI10 no ha podido asignar la memoria suficiente para completar la solicitud.

  • E_UNEXPECTED
    Se llamó al método en un conjunto de filas de copia masiva previamente invalidado por el método IRowsetFastLoad::Commit.

  • DB_E_BADACCESSORHANDLE
    El argumento hAccessor proporcionado por el consumidor no era válido.

  • DB_E_BADACCESSORTYPE
    El descriptor de acceso especificado no era un descriptor de acceso de fila o no especificaba la memoria propia del consumidor.

Comentarios

Un error al convertir los datos del consumidor al tipo de datos de SQL Server de una columna hace que el proveedor OLE DB de SQL Server Native Client devuelva E_FAIL. Los datos se pueden transmitir a SQL Server en cualquier método InsertRow o sólo en el método Commit. La aplicación de consumidor puede llamar al método InsertRow muchas veces con datos erróneos antes de recibir el aviso de que existe un error de conversión de tipo de datos. Dado que el método Commit asegura que el consumidor especifica correctamente todos los datos, este último puede utilizar el método Commit adecuadamente para validar los datos según sea necesario.

Los conjuntos de filas de copia masiva del proveedor OLE DB de SQL Server Native Client son de sólo escritura. El proveedor OLE DB de SQL Server Native Client no expone ningún método que permita al consumidor consultar el conjunto de filas. Para finalizar el procesamiento, el consumidor puede liberar su referencia en la interfaz IRowsetFastLoad sin llamar al método Commit. No hay recursos para obtener acceso a una fila insertada por el consumidor en el conjunto de filas y cambiar sus valores o quitarla individualmente del conjunto de filas.

Se da formato a las filas de copia masiva en el servidor para SQL Server. Las opciones que se hayan establecido para la conexión o sesión, como ANSI_PADDING, afectan al formato de fila. Esta opción está activada de forma predeterminada para las conexiones realizadas a través del proveedor OLE DB de SQL Server Native Client.

Vea también

Otros recursos