Interface ISQLServerBulkRecord

  • All Superinterfaces:
    java.io.Serializable
    All Known Implementing Classes:
    SQLServerBulkBatchInsertRecord, SQLServerBulkCSVFileRecord

    public interface ISQLServerBulkRecord
    extends java.io.Serializable
    Provides an interface used to create classes that read in data from any source (such as a file) and allows a SQLServerBulkCopy class to write the data to SQL Server tables. This interface is implemented by SQLServerBulkCommon Class
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void addColumnMetadata​(int positionInFile, java.lang.String name, int jdbcType, int precision, int scale)
      Adds metadata for the given column in the file.
      void addColumnMetadata​(int positionInFile, java.lang.String name, int jdbcType, int precision, int scale, java.time.format.DateTimeFormatter dateTimeFormatter)
      Adds metadata for the given column in the file.
      java.time.format.DateTimeFormatter getColumnDateTimeFormatter​(int column)
      Returns the dateTimeFormatter for the given column.
      java.lang.String getColumnName​(int column)
      Returns the name of the given column.
      java.util.Set<java.lang.Integer> getColumnOrdinals()
      Returns the ordinals for each of the columns represented in this data record.
      int getColumnType​(int column)
      Returns the JDBC data type of the given column.
      int getPrecision​(int column)
      Returns the precision for the given column.
      java.lang.Object[] getRowData()
      Returns the data for the current row as an array of Objects.
      int getScale​(int column)
      Returns the scale for the given column.
      boolean isAutoIncrement​(int column)
      Returns whether the column represents an identity column.
      boolean next()
      Advances to the next data row.
      void setTimestampWithTimezoneFormat​(java.lang.String dateTimeFormat)
      Sets the format for reading in dates from the file.
      void setTimestampWithTimezoneFormat​(java.time.format.DateTimeFormatter dateTimeFormatter)
      Sets the format for reading in dates from the file.
      void setTimeWithTimezoneFormat​(java.lang.String timeFormat)
      Sets the format for reading in dates from the file.
      void setTimeWithTimezoneFormat​(java.time.format.DateTimeFormatter dateTimeFormatter)
      Sets the format for reading in dates from the file.
    • Method Detail

      • getColumnOrdinals

        java.util.Set<java.lang.Integer> getColumnOrdinals()
        Returns the ordinals for each of the columns represented in this data record.
        Returns:
        Set of ordinals for the columns.
      • getColumnName

        java.lang.String getColumnName​(int column)
        Returns the name of the given column.
        Parameters:
        column - Column ordinal
        Returns:
        Name of the column
      • getColumnType

        int getColumnType​(int column)
        Returns the JDBC data type of the given column.
        Parameters:
        column - Column ordinal
        Returns:
        JDBC data type of the column
      • getPrecision

        int getPrecision​(int column)
        Returns the precision for the given column.
        Parameters:
        column - Column ordinal
        Returns:
        Precision of the column
      • getScale

        int getScale​(int column)
        Returns the scale for the given column.
        Parameters:
        column - Column ordinal
        Returns:
        Scale of the column
      • isAutoIncrement

        boolean isAutoIncrement​(int column)
        Returns whether the column represents an identity column.
        Parameters:
        column - Column ordinal
        Returns:
        True if the column is an identity column; false otherwise.
      • getRowData

        java.lang.Object[] getRowData()
                               throws SQLServerException
        Returns the data for the current row as an array of Objects. Each Object must match the Java language Type that is used to represent the indicated JDBC data type for the given column. For more information, see 'Understanding the JDBC Driver Data Types' for the appropriate mappings.
        Returns:
        The data for the row.
        Throws:
        SQLServerException - If there are any errors in obtaining the data.
      • next

        boolean next()
              throws SQLServerException
        Advances to the next data row.
        Returns:
        True if rows are available; false if there are no more rows
        Throws:
        SQLServerException - If there are any errors in advancing to the next row.
      • addColumnMetadata

        void addColumnMetadata​(int positionInFile,
                               java.lang.String name,
                               int jdbcType,
                               int precision,
                               int scale,
                               java.time.format.DateTimeFormatter dateTimeFormatter)
                        throws SQLServerException
        Adds metadata for the given column in the file.
        Parameters:
        positionInFile - Indicates which column the metadata is for. Columns start at 1.
        name - Name for the column (optional if only using column ordinal in a mapping for SQLServerBulkCopy operation)
        jdbcType - JDBC data type of the column
        precision - Precision for the column (ignored for the appropriate data types)
        scale - Scale for the column (ignored for the appropriate data types)
        dateTimeFormatter - format to parse data that is sent
        Throws:
        SQLServerException - when an error occurs
      • addColumnMetadata

        void addColumnMetadata​(int positionInFile,
                               java.lang.String name,
                               int jdbcType,
                               int precision,
                               int scale)
                        throws SQLServerException
        Adds metadata for the given column in the file.
        Parameters:
        positionInFile - Indicates which column the metadata is for. Columns start at 1.
        name - Name for the column (optional if only using column ordinal in a mapping for SQLServerBulkCopy operation)
        jdbcType - JDBC data type of the column
        precision - Precision for the column (ignored for the appropriate data types)
        scale - Scale for the column (ignored for the appropriate data types)
        Throws:
        SQLServerException - when an error occurs
      • setTimestampWithTimezoneFormat

        void setTimestampWithTimezoneFormat​(java.lang.String dateTimeFormat)
        Sets the format for reading in dates from the file.
        Parameters:
        dateTimeFormat - format to parse data sent as java.sql.Types.TIMESTAMP_WITH_TIMEZONE
      • setTimestampWithTimezoneFormat

        void setTimestampWithTimezoneFormat​(java.time.format.DateTimeFormatter dateTimeFormatter)
        Sets the format for reading in dates from the file.
        Parameters:
        dateTimeFormatter - format to parse data sent as java.sql.Types.TIMESTAMP_WITH_TIMEZONE
      • setTimeWithTimezoneFormat

        void setTimeWithTimezoneFormat​(java.lang.String timeFormat)
        Sets the format for reading in dates from the file.
        Parameters:
        timeFormat - format to parse data sent as java.sql.Types.TIME_WITH_TIMEZONE
      • setTimeWithTimezoneFormat

        void setTimeWithTimezoneFormat​(java.time.format.DateTimeFormatter dateTimeFormatter)
        Sets the format for reading in dates from the file.
        Parameters:
        dateTimeFormatter - format to parse data sent as java.sql.Types.TIME_WITH_TIMEZONE
      • getColumnDateTimeFormatter

        java.time.format.DateTimeFormatter getColumnDateTimeFormatter​(int column)
        Returns the dateTimeFormatter for the given column.
        Parameters:
        column - Column ordinal
        Returns:
        dateTimeFormatter