Michael Peppler
Sybase Consulting
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
Sybase on Linux FAQ
Sybperl FAQ
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: michael dot peppler at bnpparibas dot com
Subject: Re: Sybase::bcp
Date: Feb 15 2007 7:22AM

The prepared statement should be pretty fast, though obviously not as fast 
as a non-logged bcp operation (however, as your table has an index you 
won't use non-logged bcp, so you're probably not loosing much speed!)

I'm still a little bit perplexed by that 1622 error, which would normally 
indicate a TDS error (i.e. an invalid packet sent to the server).

It would be interesting to see if you can generate this with the bcp 
binary - if possible you could create the load file (maybe by writing out 
the data to a file in your perl script instead of sending it to the 
server) and then loading that file via bcp ?
If that fails then there is a very valid reason to open a case with Sybase 


Internet - 14.02.2007 18:04
Sent by:
To:     sybperl-l
Subject:        Re: Sybase::bcp

Hello Michael,

Thanks for your prompt reply. I took up your suggestion of using the BLK
api. This stopped the program from hanging. It did not however stop the
1622 error messages:
Message number: 1622, Severity 18, State 1, Line 1
Server 'myServer'
Message String: Type '7' not implemented./

In the end I decided to switch to using prepared insert statements..
probably not as good (?) but it served its purpose. I get the feeling
that a solution for a sybase 1622 error message might take a while to 

Ed wrote:
> That looks like an ASE error, or possibly an OpenClient error. In any
> case I don't think that it is directly related to sybperl.
> On the other hand you are using the old DB-Library API - and you
> should probably use the new(er) BLK (ClientLibrary) API (i.e.
> Sybase::BLK)
> Have you tried the same data via the bcp tool ?
> Michael
> *I*nternet
> - 07.02.2007 19:01
> Sent by:
> To:        sybperl-l
> cc:
> Subject:        *Sybase::bcp*
> Hello,
> I'm using Sybase::bcp to run in some data from a text file into an ase
> 15.0 express database. The database is on openSUSE 10.1. The table this
> data is being loaded into has an index that detects duplicate lines. The
> first file load enters the database with no problems. When I load the
> same file again, I expect to see a bunch of 2601's, duplicate row errors
> thrown by the callback function. Instead I see the following printed
> multiple times:
> /Sybase message 1622, Severity 18, state 2
> Type 'e2' not implemented./
> (Type messages include: ee,f1,ea,e4)
> *The perl script then hangs*. ????
> Inspecting the packets with tcpdump I know that communication has
> stopped between sybperl and the db. The test network is very simple,
> collisions etc are not a problem. The transaction logs (tempdb and the
> database in question) have plenty of space. I have not upgraded 15 to
> the 15.01 edition. Could that be it?
> I have loaded the file manually using bcp on the command line. And this
> produces the expected results.
> Now I am not sure whether this is a sybperl question or an ase
> question... if it is an ase question I will repost on ase.linux.
> Cheers
> Ed
> This message and any attachments (the "message") is
> intended solely for the addressees and is confidential.
> If you receive this message in error, please delete it and
> immediately notify the sender. Any use not in accord with
> its purpose, any dissemination or disclosure, either whole
> or partial, is prohibited except formal approval. The internet
> can not guarantee the integrity of this message.
> BNP PARIBAS (and its subsidiaries) shall (will) not
> therefore be liable for the message if modified.
>                 ---------------------------------------------
> Ce message et toutes les pieces jointes (ci-apres le
> "message") sont etablis a l'intention exclusive de ses
> destinataires et sont confidentiels. Si vous recevez ce
> message par erreur, merci de le detruire et d'en avertir
> immediatement l'expediteur. Toute utilisation de ce
> message non conforme a sa destination, toute diffusion
> ou toute publication, totale ou partielle, est interdite, sauf
> autorisation expresse. L'internet ne permettant pas
> d'assurer l'integrite de ce message, BNP PARIBAS (et ses
> filiales) decline(nt) toute responsabilite au titre de ce
> message, dans l'hypothese ou il aurait ete modifie.