Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Sybase DB Library C 4.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

  1                       Version 4.0 -- 5/1/89                 bcp_init
  ______________________________________________________________________

  NAME:  bcp_init

  FUNCTION:
       Initialize bulk copy.

  SYNTAX:
       RETCODE bcp_init(dbproc, tblname, hfile, errfile, direction)

       DBPROCESS *dbproc;
       char      *tblname;
       char      *hfile;
       char      *errfile;







  bcp_init                Version 4.0 -- 5/1/89                        2
  ______________________________________________________________________
       int       direction;

  COMMENTS:

       o bcp_init() performs the necessary initializations  for  a  bulk
         copy  of  data  between the front-end and a SQL Server. It sets
         the default host file data formats and examines  the  structure
         of the database table.
       o If a host file is being used (see the description of the  hfile
         parameter, below), the default data formats are as follows:

            o The order, type, length and number of the columns  in  the
              host  file  are assumed to be identical to the order, type
              and number of the columns in the database table.
            o If a given database column's data  is  fixed-length,  then
              the host file's data column will also be fixed-length.  If
              a given database column's data is variable-length  or  may



  3                       Version 4.0 -- 5/1/89                 bcp_init
  ______________________________________________________________________
              contain NULL values, the host file's data column  will  be
              prefixed by a 4-byte length value for SYBTEXT and SYBIMAGE
              data types, and a 1-byte length value for all other types.

            o There are no terminators of any  kind  between  host  file
              columns.
         Any  of  these  defaults   can   be   overridden   by   calling
         bcp_columns() and bcp_colfmt().

       o To use the bulk copy routines to copy data to a database  table
         requires the following:
            o The DBPROCESS structure must be usable for bulk copy  pur-
              poses. This is accomplished by calling BCP_SETL():

                 login = dblogin();
                 BCP_SETL(login, TRUE);




  bcp_init                Version 4.0 -- 5/1/89                        4
  ______________________________________________________________________

            o If the table has no indexes, the  database  option  select
              into/bulkcopy  must  be  set to "true".  The following SQL
              command will do this:

                 sp_dboption 'mydb', 'select into/bulkcopy', 'true'

              See  the  Commands  Reference  for  further   details   on
              sp_dboption.
       o If  no  host  file  is  being  used,  it's  necessary  to  call
         bcp_bind() to specify the format and location in memory of each
         column's data value.

       o bcp_init() must be called before any other bulk copy functions.
         Failure to do so will result in an error.
       o For information on the bcp utility program, see its manual page
         in the Commands Reference.



  5                       Version 4.0 -- 5/1/89                 bcp_init
  ______________________________________________________________________

  PARAMETERS:
       dbproc -  A pointer to the DBPROCESS structure that provides  the
           connection for a particular front-end/SQL Server process.  It
           contains all the information that DB-Library uses  to  manage
           communications and data between the front end and SQL Server.
       tblname -  The name of the database table to be copied in or out.
           This  name  may  also  include the database name or the owner
           name.  For  example,  "pubs.gracie.titles",   "pubs..titles",
           "gracie.titles", and "titles" are all legal table names.
       hfile -  The name of the host file to be copied in or out.  If no
           host  file  is  involved  (the  situation  when data is being
           copied directly from variables), hfile should be NULL.
       errfile -  The name of the error file to be used. This error file
           will  be  filled  with progress messages, error messages, and
           copies of any rows which, for any reason, could not be copied
           from a host file to a SQL Server table.  If NULL is passed as



  bcp_init                Version 4.0 -- 5/1/89                        6
  ______________________________________________________________________
           errfile, no error file will be used.
       direction -  The direction of the copy. It must  be  one  of  two
           values-DB_IN  or DB_OUT. DB_IN indicates a copy from the host
           into the database table, while DB_OUT indicates a  copy  from
           the database table into the host file.

           It is illegal to request a bulk copy from the database  table
           (DB_OUT) without supplying a host file name.

  RETURNS:
       SUCCEED or FAIL.

  SEE ALSO:
       bcp_batch,   bcp_bind,   bcp_colfmt,   bcp_collen,    bcp_colptr,
       bcp_columns, bcp_control, bcp_done, bcp_exec, bcp_sendrow




Typewritten Software • bear@typewritten.org • Edmonds, WA 98026