All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.microsoft.sqlserver.jdbc.ISQLServerBulkRecord Maven / Gradle / Ivy

//---------------------------------------------------------------------------------------------------------------------------------
// File: ISQLServerBulkRecord.java
//
//
// Microsoft JDBC Driver for SQL Server
// Copyright(c) Microsoft Corporation
// All rights reserved.
// MIT License
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files(the ""Software""), 
//  to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, 
//  and / or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions :
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
// THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS 
//  IN THE SOFTWARE.
//---------------------------------------------------------------------------------------------------------------------------------
 
 
package com.microsoft.sqlserver.jdbc;

import java.util.Set;

/**
 * The ISQLServerBulkRecord interface can be used to create classes that read in data from any source (such as a file)
 * and allow a SQLServerBulkCopy class to write the data to SQL Server tables.
 */
public interface ISQLServerBulkRecord 
{
    /**
     * Get the ordinals for each of the columns represented in this data record.
     * 
     * @return Set of ordinals for the columns.
     */
    public Set getColumnOrdinals();
    
    /**
     * Get the name of the given column.
     * 
     * @param column Column ordinal
     * @return Name of the column
     */
    public String getColumnName(int column);
    
    /**
     * Get the JDBC data type of the given column.
     * 
     * @param column Column ordinal
     * @return JDBC data type of the column
     */
    public int getColumnType(int column);
    
    /**
     * Get the precision for the given column.
     * 
     * @param column Column ordinal
     * @return Precision of the column
     */
    public int getPrecision(int column);
    
    /**
     * Get the scale for the given column.
     * 
     * @param column Column ordinal
     * @return Scale of the column
     */
    public int getScale(int column);
    
    /**
     * Indicates whether the column represents an identity column.
     * 
     * @param column Column ordinal
     * @return True if the column is an identity column; false otherwise.
     */
    public boolean isAutoIncrement(int column);
    
    /**
     * Gets 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.
     * 
     * @return The data for the row.
     */
    public Object[] getRowData() throws SQLServerException;
    
    /**
     * Advances to the next data row.
     * 
     * @return True if rows are available; false if there are no more rows
     * @throws SQLServerException If there are any errors in obtaining the data.
     */
    public boolean next() throws SQLServerException;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy