Skip to Content.
Sympa Menu

freetds - bcp api in db-lib progress.

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Bill Thompson" <thompbil AT exchange.uk.ml.com>
  • To: freetds AT franklin.oit.unc.edu
  • Subject: bcp api in db-lib progress.
  • Date: Thu, 29 Nov 2001 11:58:26 -0500


Hi,

I am trying to complete the programming on the bcp api in db-lib.
My eventual aim is to create a bcp executable for UNIX that will talk to
SQL server. I am having a go at filling in the gaps in the FreeTDS bcp
implementation while I'm about it.

After some experimentation and modification I have got it working for
simple tables ( all fixed-length , not null columns ). However as soon as
variable data is introduced (varchar or null columns for instance) it all
goes pear-shaped.

I worked out that the TDS "packet" for a row of data is essentially the
physical representation of that row on disk within the server. I checked
the code against an octal dump of a Sybase 11 data file, and confirmed
this to be the case.

Working on the basis that the SQL server representation of data must be
subtly different, I looked at an octal dump of a SQL Server data file.

Horror! The way that the variable columns of a row are represented in the
file are totally different, and so far indecipherable.

Does anyone have any idea what algorithm MS have used to represent this
data ? I figure I have to work out what this before changing the code
accordingly.

Bill Thompson






Archive powered by MHonArc 2.6.24.

Top of Page