ISQLServerBulkRecord, AutoCloseablepublic class SQLServerBulkCSVFileRecord extends Object implements AutoCloseable
| Modifier and Type | Field | Description |
|---|---|---|
protected Map<Integer,com.microsoft.sqlserver.jdbc.SQLServerBulkCommon.ColumnMetadata> |
columnMetadata |
|
protected String[] |
columnNames |
|
protected DateTimeFormatter |
dateTimeFormatter |
|
protected DateTimeFormatter |
timeFormatter |
| Constructor | Description |
|---|---|
SQLServerBulkCSVFileRecord(InputStream fileToParse,
String encoding,
String delimiter,
boolean firstLineIsColumnNames) |
Constructs a SQLServerBulkCSVFileRecord to parse data from a delimited file with the given encoding.
|
SQLServerBulkCSVFileRecord(String fileToParse,
boolean firstLineIsColumnNames) |
Constructs a SQLServerBulkCSVFileRecord to parse data from a CSV file with the default encoding.
|
SQLServerBulkCSVFileRecord(String fileToParse,
String encoding,
boolean firstLineIsColumnNames) |
Constructs a SQLServerBulkCSVFileRecord to parse data from a CSV file with the given encoding.
|
SQLServerBulkCSVFileRecord(String fileToParse,
String encoding,
String delimiter,
boolean firstLineIsColumnNames) |
Constructs a simple reader to parse data from a delimited file with the given encoding.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
addColumnMetadata(int positionInSource,
String name,
int jdbcType,
int precision,
int scale) |
Adds metadata for the given column in the file.
|
void |
addColumnMetadata(int positionInSource,
String name,
int jdbcType,
int precision,
int scale,
DateTimeFormatter dateTimeFormatter) |
Adds metadata for the given column in the file.
|
protected void |
checkDuplicateColumnName(int positionInTable,
String colName) |
|
void |
close() |
Releases any resources associated with the file reader.
|
DateTimeFormatter |
getColumnDateTimeFormatter(int column) |
Returns the
dateTimeFormatter for the given column. |
String |
getColumnName(int column) |
Returns the name of the given column.
|
Set<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.
|
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(String dateTimeFormat) |
Sets the format for reading in dates from the file.
|
void |
setTimestampWithTimezoneFormat(DateTimeFormatter dateTimeFormatter) |
Sets the format for reading in dates from the file.
|
void |
setTimeWithTimezoneFormat(String timeFormat) |
Sets the format for reading in dates from the file.
|
void |
setTimeWithTimezoneFormat(DateTimeFormatter dateTimeFormatter) |
Sets the format for reading in dates from the file.
|
protected void |
throwInvalidArgument(String argument) |
protected String[] columnNames
protected Map<Integer,com.microsoft.sqlserver.jdbc.SQLServerBulkCommon.ColumnMetadata> columnMetadata
protected DateTimeFormatter dateTimeFormatter
protected DateTimeFormatter timeFormatter
public SQLServerBulkCSVFileRecord(String fileToParse, String encoding, String delimiter, boolean firstLineIsColumnNames) throws SQLServerException
fileToParse - File to parse data fromencoding - Charset encoding to use for reading the file, or NULL for the default encoding.delimiter - Delimiter to used to separate each columnfirstLineIsColumnNames - True if the first line of the file should be parsed as column names; false otherwiseSQLServerException - If the arguments are invalid, there are any errors in reading the file, or the file is emptypublic SQLServerBulkCSVFileRecord(InputStream fileToParse, String encoding, String delimiter, boolean firstLineIsColumnNames) throws SQLServerException
fileToParse - InputStream to parse data fromencoding - Charset encoding to use for reading the file, or NULL for the default encoding.delimiter - Delimiter to used to separate each columnfirstLineIsColumnNames - True if the first line of the file should be parsed as column names; false otherwiseSQLServerException - If the arguments are invalid, there are any errors in reading the file, or the file is emptypublic SQLServerBulkCSVFileRecord(String fileToParse, String encoding, boolean firstLineIsColumnNames) throws SQLServerException
fileToParse - File to parse data fromencoding - Charset encoding to use for reading the file.firstLineIsColumnNames - True if the first line of the file should be parsed as column names; false otherwiseSQLServerException - If the arguments are invalid, there are any errors in reading the file, or the file is emptypublic SQLServerBulkCSVFileRecord(String fileToParse, boolean firstLineIsColumnNames) throws SQLServerException
fileToParse - File to parse data fromfirstLineIsColumnNames - True if the first line of the file should be parsed as column names; false otherwiseSQLServerException - If the arguments are invalid, there are any errors in reading the file, or the file is emptypublic void close()
throws SQLServerException
close in interface AutoCloseableSQLServerException - when an error occurspublic DateTimeFormatter getColumnDateTimeFormatter(int column)
ISQLServerBulkRecorddateTimeFormatter for the given column.getColumnDateTimeFormatter in interface ISQLServerBulkRecordcolumn - Column ordinalpublic Set<Integer> getColumnOrdinals()
ISQLServerBulkRecordgetColumnOrdinals in interface ISQLServerBulkRecordpublic String getColumnName(int column)
ISQLServerBulkRecordgetColumnName in interface ISQLServerBulkRecordcolumn - Column ordinalpublic int getColumnType(int column)
ISQLServerBulkRecordgetColumnType in interface ISQLServerBulkRecordcolumn - Column ordinalpublic int getPrecision(int column)
ISQLServerBulkRecordgetPrecision in interface ISQLServerBulkRecordcolumn - Column ordinalpublic int getScale(int column)
ISQLServerBulkRecordgetScale in interface ISQLServerBulkRecordcolumn - Column ordinalpublic boolean isAutoIncrement(int column)
ISQLServerBulkRecordisAutoIncrement in interface ISQLServerBulkRecordcolumn - Column ordinalpublic Object[] getRowData() throws SQLServerException
ISQLServerBulkRecordgetRowData in interface ISQLServerBulkRecordSQLServerException - If there are any errors in obtaining the data.public void setTimestampWithTimezoneFormat(String dateTimeFormat)
ISQLServerBulkRecordsetTimestampWithTimezoneFormat in interface ISQLServerBulkRecorddateTimeFormat - format to parse data sent as java.sql.Types.TIMESTAMP_WITH_TIMEZONEpublic void setTimestampWithTimezoneFormat(DateTimeFormatter dateTimeFormatter)
ISQLServerBulkRecordsetTimestampWithTimezoneFormat in interface ISQLServerBulkRecorddateTimeFormatter - format to parse data sent as java.sql.Types.TIMESTAMP_WITH_TIMEZONEpublic void setTimeWithTimezoneFormat(String timeFormat)
ISQLServerBulkRecordsetTimeWithTimezoneFormat in interface ISQLServerBulkRecordtimeFormat - format to parse data sent as java.sql.Types.TIME_WITH_TIMEZONEpublic void setTimeWithTimezoneFormat(DateTimeFormatter dateTimeFormatter)
ISQLServerBulkRecordsetTimeWithTimezoneFormat in interface ISQLServerBulkRecorddateTimeFormatter - format to parse data sent as java.sql.Types.TIME_WITH_TIMEZONEpublic boolean next()
throws SQLServerException
ISQLServerBulkRecordnext in interface ISQLServerBulkRecordSQLServerException - If there are any errors in advancing to the next row.public void addColumnMetadata(int positionInSource,
String name,
int jdbcType,
int precision,
int scale,
DateTimeFormatter dateTimeFormatter)
throws SQLServerException
ISQLServerBulkRecordaddColumnMetadata in interface ISQLServerBulkRecordpositionInSource - 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 columnprecision - 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 sentSQLServerException - when an error occurspublic void addColumnMetadata(int positionInSource,
String name,
int jdbcType,
int precision,
int scale)
throws SQLServerException
ISQLServerBulkRecordaddColumnMetadata in interface ISQLServerBulkRecordpositionInSource - 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 columnprecision - Precision for the column (ignored for the appropriate data types)scale - Scale for the column (ignored for the appropriate data types)SQLServerException - when an error occursprotected void throwInvalidArgument(String argument) throws SQLServerException
SQLServerExceptionprotected void checkDuplicateColumnName(int positionInTable,
String colName)
throws SQLServerException
SQLServerExceptionCopyright © 2018 Microsoft Corporation. All rights reserved.