Sorry Neil - perhaps I should have made that clearer in the sample but
AqtorExportReader_NonIndex only a text string for one of the database fields
and goes in as is.  The code is fairly straightforward....

Connection to the DB is (where $DSN is the string name of the ODBC data
source)
 $dbh = DBI->connect(
"DBI:Proxy:hostname=local;port=1415;dsn=DBI:ODBC:$DSN","","",{RaiseError =>
0, AutoCommit => 1, PrintError => 0 });

Then we insert through the following code:
  {
      my $sql = q{
         INSERT INTO tAqtorTrade
            (ReaderSequenceNumber,
             TradeDate,
              Market,
              Portfolio,
              SecurityCode,
              TradeType,
              ExpirationDate,
              ContractSize,
              AqtorID,
              Quantity,
              Price,
             TradeTime,
             Source) values
              };
      $sql .= "('$self->{'SeqNo'}',  #" . $self->{TradeDate} . "#, ";
      $sql .= "'$self->{'Exchange'}', '$self->{'PortfolioCode'}', ";
      $sql .= "'$self->{'UnderlyingSymbol'}', '$self->{'SecurityType'}', ";
      $sql .= "#". $self->{'Expiration'}."#, ";
      $sql .= "'$self->{'ContractSize'}', '$self->{'AqtorID'}', ";
      $sql .= "'$self->{'Quantity'}', '$self->{'Price'}', ";
      $sql .= "#" .  $self->{'TradeTime'} ."#, '$self->{'ServiceName'}')";
   
      my $sth = $AqtorExportDecoder::DBHandle->prepare( $sql );
      if ( $sth )
      {
         my $retry = $AqtorExportDecoder::InsertRetries;   
         # Error in DB - let's retry here 
         $sth->execute;

The args to ProxyServer.pm are:

@Args = ('--logfile', 'STDERR' , '--pidfile','none','--debug','--localport',
'1415');
DBI::ProxyServer::main(@Args);


The resulting SQL statement looks fine - and works via DBI::ADO.  I'm
stumped!



> -----Original Message-----
> From: Neil Lunn [SMTP:[EMAIL PROTECTED]]
> Sent: Monday, May 21, 2001 8:53 AM
> To:   'Butler, Jeff'; '[EMAIL PROTECTED]'
> Subject:      RE: :Proxy with ADO/Access on WinNT
> 
> Hello Jeff,
> 
> Probably Still can't get mail to dbi-users but let's try any way.
> 
> I really checked out your problem on just about any platform I could and I
> can't get it to break. By the way the latest release (on CPAN) on
> Win32::OLE
> will not work with a Perl less then 5.6.0 so I know you don't have that.
> 
> From the trace you sent:
> 
> > 08:36:20#, 'AqtorExportReader_NonIndex'),,ARRAY(0xd54380)
>                                             ^^^^^^^^^^^^^^^
> This looks like an array ref has been bound to a placeholder. You can't do
> that. Looks like the probelm here is your code. Copy the code to the list
> for help if you have trouble sorting that out.
> 
> Neil
> 
> > -----Original Message-----
> > From: Butler, Jeff [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, May 21, 2001 5:42 PM
> > To: '[EMAIL PROTECTED]'
> > Subject: RE: :Proxy with ADO/Access on WinNT
> > 
> > 
> > Well, I changed DBI::ADO to DBI::ODBC and things look better 
> > - it connects
> > and executes the delete statements fine.  However, on an 
> > insert with the
> > following SQL code an error was returned from Access - but it 
> > doesn't make
> > sense (to me!)  There is no count clause in the SQL. I've 
> > stepped into the
> > DBI code, and the SQL looks uncorrupted right through, I've 
> > switched on
> > logging in ODBC and the only difference between this and ADO is that
> > DBI::ODBC uses SQLExecute wile DBI::ADO calls SQLExecDirectW 
> > to insert the
> > statement.  Anybody any ideas?
> > 
> > 
> > SQL Code (from DBI::Proxy debug) - 
> > Mon May 21 08:33:19 2001 debug, Client executes method CallMethod
> > Mon May 21 08:33:19 2001 debug, CallMethod: =>
> > DBI::ProxyServer::db=HASH(0xd495a0),prepare,
> >      INSERT INTO tAqtorTrade
> >         (ReaderSequenceNumber,
> >          TradeDate,
> >           Market,
> >           Portfolio,
> >           SecurityCode,
> >           TradeType,
> >           ExpirationDate,
> >           ContractSize,
> >           AqtorID,
> >           Quantity,
> >           Price,
> >          TradeTime,
> >          Source) values
> >           ('4',  #21-May-2001#, 'XLFF', 'SUSFSIE', 'SIE', 'F',
> > #21-May-2001#, '100', 'AQTOR20010521.4', '-10', '82.99', #21-May-2001
> > 08:36:20#, 'AqtorExportReader_NonIndex'),,ARRAY(0xd54380)
> > 
> > (RESULTING ERROR:)
> > 
> > Mon May 21 08:33:19 2001 err, DBD::ODBC::st execute failed: 
> > [Microsoft][ODBC
> > Microsoft Access Driver]COUNT field incorrect  (SQL-07001)(DBD:
> > st_execute/SQLExecute err=-1) at 
> > c:\perl\site\lib/DBI/ProxyServer.pm line
> > 318, <IN> chunk 1.
> > 
> > 
> > Thanks,
> > Jeff Butler.
> > 
> > > > -----Original Message-----
> > > > From:   Neil Lunn [SMTP:[EMAIL PROTECTED]]
> > > > Sent:   Friday, May 18, 2001 8:54 AM
> > > > To:     'Butler, Jeff'
> > > > Subject:        RE: :Proxy with ADO/Access on WinNT
> > > > 
> > > > > -----Original Message-----
> > > > > From: Butler, Jeff [mailto:[EMAIL PROTECTED]]
> > > > > Sent: Friday, May 18, 2001 5:25 PM
> > > > > To: 'Neil Lunn'
> > > > > Subject: RE: :Proxy with ADO/Access on WinNT
> > > > > 
> > > > > 
> > > > > At the moment, these are running in different process on the 
> > > > > same machine as
> > > > > a test bed and so are referencing the same Storable 
> > install.  Also, I
> > > > > recently downloaded and installed this version from CPAN entry:
> > > > 
> > > > Sorry, I didn't fully read your first message. This is 
> > pretty unusual,
> > > > where
> > > > is the
> > > > perl build from? And how are you building your modules? 
> > In either case
> > > you
> > > > should consider moving to 5.6.1 pretty quickly.
> > > > 
> > > > > 
> > > > > Storable RAM <../authors/id/R/RA/RAM> Storable-1.0.11.tar.gz
> > > > > <../authors/id/R/RA/RAM/Storable-1.0.11.tar.gz> 62k 15 Mar 2001
> > > > > 
> > > > > Similarly, the version number (92) seems quite high.  which 
> > > > > may point to
> > > > > some data corruption.  Perhaps it is the overload in 
> > > > 
> > > > Hmmn. I am still suspect this might be a malformatted 0.92.
> > > > Can you try this with DBD::ODBC to see if Win32::OLE can 
> > be singled out.
> > > > 
> > > > Also please copy the list, This and other information 
> > will always be
> > > > useful
> > > > to someone else. I would have and intended to in my 
> > original reply, but
> > > I
> > > > (Ahem!) seem to be having trouble getting through to the list
> > > > administrator
> > > > about me not being able to post.
> > > > 
> > > > Neil
> > > > 
> > > > > Win32::OLE::Variant
> > > > > that is not freezing/thawing properly..... Also, I am using 
> > > > > perl version
> > > > > 5.004_74 built for MSWin32-x86...
> > > > > 
> > > > > > -----Original Message-----
> > > > > > From:       Neil Lunn [SMTP:[EMAIL PROTECTED]]
> > > > > > Sent:       Friday, May 18, 2001 3:45 AM
> > > > > > To: 'Butler, Jeff'; '[EMAIL PROTECTED]'
> > > > > > Subject:    RE: :Proxy with ADO/Access on WinNT
> > > > > > 
> > > > > > This is in the Archives already. Your Storable versions 
> > > > > differ and are not
> > > > > > compatible. This is *probably* on the Windows end and you 
> > > > > are using an
> > > > > > older
> > > > > > release of Activestate Perl.
> > > > > > 
> > > > > > Update the offending old copy of Storable.
> > > > > > 
> > > > > > Neil.
> > > > > > 
> > > > > > > -----Original Message-----
> > > > > > > From: Butler, Jeff [mailto:[EMAIL PROTECTED]]
> > > > > > > Sent: Thursday, May 17, 2001 7:04 PM
> > > > > > > To: '[EMAIL PROTECTED]'
> > > > > > > Subject: DBI::Proxy with ADO/Access on WinNT
> > > > > > > 
> > > > > > > 
> > > > > > > Hi 
> > > > > > > 
> > > > > > > I'm trying to use the DBI::Proxy / ProxyServer modules in 
> > > > > > > order to move some
> > > > > > > perl scripts to Unix, yet maintain a link to an access 
> > > > > > > database.  While I've
> > > > > > > managed to run the ProxyServer on NT and connect to it with 
> > > > > > > Proxy.pm I'm
> > > > > > > getting errors when I attempt to use it.  (using 
> > DBI->trace(9))
> > > > > > > 
> > > > > > > On a delete query the query executes on the 
> > database but the 
> > > > > > > following call
> > > > > > > stack is returned:
> > > > > > >   Carp::croak(\'Cannot restore overloading on 
> > SCALAR(0xd0a60c)
> > > > > > > (package Win32::O...\') called at (eval 7) line 4
> > > > > > >   Storable::logcroak(\'Cannot restore overloading on 
> > > > > > > SCALAR(0xd0a60c)
> > > > > > > (package Win32::O...\') called at blib\\lib\\Storable.pm 
> > > > > > > (autosplit into
> > > > > > > blib\\lib\\auto/Storable/thaw.al) line 343
> > > > > > >   
> > > > > > > 
> > Storable::thaw(\'^E^D^B^@^@^@^F^J$DBI::ProxyServer::st=HASH(0x
> > > > > > > 168a694)^J^A0^
> > > > > > > J^A0^E^E^T^Q^SWin32::O...\') called at
> > > > > > > c:\\perl\\site\\lib/RPC/PlServer/Comm.pm line 144
> > > > > > >   
> > > > > > > 
> > RPC::PlServer::Comm::Read(\'RPC::PlClient=HASH(0xd6ca14)\') called
> > > > > > > at c:\\perl\\site\\lib/RPC/PlClient.pm line 112
> > > > > > >   RPC::PlClient::Call(\'RPC::PlClient=HASH(0xd6ca14)\',
> > > > > > > \'CallMethod\', \'DBI::ProxyServer::db=HASH(0xd42024)\', 
> > > > > \'prepare\',
> > > > > > > \'DELETE FROM tAqtorTrade where TradeDate = 
> > #17-May-2001# AND 
> > > > > > > Sour...\',
> > > > > > > undef, \'ARRAY(0xd099ac)\') called at (eval 16) line 5
> > > > > > >   
> > > > > > > 
> > RPC::PlClient::Object::DBI::ProxyServer::db::prepare(\'RPC::Pl
> > > > > > > Client::Object
> > > > > > > ::DBI::ProxyServer::db=HASH(0x1332664)\', \'DELETE FROM 
> > > > > > > tAqtorTrade where
> > > > > > > TradeDate = #17-May-2001# AND Sour...\', undef, 
> > > > > > > \'ARRAY(0xd099ac)\') called
> > > > > > > at c:\\perl\\site\\lib/DBD/Proxy.pm line 366
> > > > > > >   eval {...} called at 
> > c:\\perl\\site\\lib/DBD/Proxy.pm line
> > > > 366
> > > > > > >   
> > DBD::Proxy::st::execute(\'DBI::st=HASH(0xd09994)\') called
> > > > at
> > > > > > > 
> > c:/Dev/AqtorExport/Source/DTS/Aqtor/PerlModules/AqtorExportDec
> > > > > > > oder.pm line
> > > > > > > 188
> > > > > > > 
> > > > > > > Then, on a second Delete statement, there are 
> > errors writing 
> > > > > > > to the socket
> > > > > > > and the ProxyServer dies as follows
> > > > > > > 
> > > > > > > Thu May 17 09:47:28 2001 debug, Client executes 
> > method CallMethod
> > > > > > > Thu May 17 09:47:28 2001 debug, CallMethod: =>
> > > > > > > DBI::ProxyServer::db=HASH(0xd42024),prepare,DELETE FROM 
> > > > > > > tIntradayTrade where
> > > > > > > TradeDate = #17-May-2001# AND Source =
> > > > > > > 'AqtorExportReader_NonIndex',,ARRAY(0x168924c)
> > > > > > > 
> > > > > > > Thu May 17 09:47:28 2001 debug, CallMethod: <=
> > > > > > > DBI::ProxyServer::st=HASH(0x16891a4),0,0,,,0
> > > > > > > Thu May 17 09:47:28 2001 err, Child died: Storable binary 
> > > > > > > image v92.0 more
> > > > > > > recent than I am (v2.4) at blib\lib\Storable.pm 
> > (autosplit into
> > > > > > > blib\lib\auto/Storable/thaw.al) line 342, <IN> chunk 1, at
> > > > > > > c:\perl\site\lib/RPC/PlServer/Comm.pm line 144
> > > > > > > 
> > > > > > > Thu May 17 09:47:28 2001 debug, Child terminating.
> > > > > > > 
> > > > > > > I'm especially concerned about the version error - but I 
> > > > > > > cannot find other
> > > > > > > versions of Storable (1.0.11)
> > > > > > > 
> > > > > > > Has anyone had like errors and found solutions to these 
> > > > > or is there
> > > > > > > something wrong I'm doing.  The ProxyServer is running in 
> > > > > > > single-connection
> > > > > > > mode but there is only one connection on it.  Ans 
> > as far as I 
> > > > > > > know the port
> > > > > > > I'm using should not be used elsewhere. Any hints, tips, 
> > > > > > > suggestions are
> > > > > > > welcome.  
> > > > > > > 
> > > > > > > Thanks, 
> > > > > > > Jeff Butler
> > > > > > > 
> > > > > > 
> > > > > > 
> > > > > ______________________________________________________________
> > > > > ____________
> > > > > > Please Note :
> > > > > > Only  the intended recipient is authorised to access or use 
> > > > > this e-mail.
> > > > > > If
> > > > > > you are not the intended recipient,
> > > > > > please delete this e-mail and notify the sender 
> > immediately.   The
> > > > > > contents
> > > > > > of this e-mail are the writer's 
> > > > > > opinion and are not necessarily endorsed by the Gunz 
> > > > > Companies unless
> > > > > > expressly stated.
> > > > > > 
> > > > > > We use virus scanning software but exclude all liability 
> > > > > for viruses or
> > > > > > similar in any attachment.
> > > > > > 
> > > > > 
> > > > 
> > > >
> > > 
> > ______________________________________________________________
> > ____________
> > > > Please Note :
> > > > Only  the intended recipient is authorised to access or 
> > use this e-mail.
> > > > If
> > > > you are not the intended recipient,
> > > > please delete this e-mail and notify the sender immediately.   The
> > > > contents
> > > > of this e-mail are the writer's 
> > > > opinion and are not necessarily endorsed by the Gunz 
> > Companies unless
> > > > expressly stated.
> > > > 
> > > > We use virus scanning software but exclude all liability 
> > for viruses or
> > > > similar in any attachment.
> > > > 
> > 
> 
> __________________________________________________________________________
> Please Note :
> Only  the intended recipient is authorised to access or use this e-mail.
> If
> you are not the intended recipient,
> please delete this e-mail and notify the sender immediately.   The
> contents
> of this e-mail are the writer's 
> opinion and are not necessarily endorsed by the Gunz Companies unless
> expressly stated.
> 
> We use virus scanning software but exclude all liability for viruses or
> similar in any attachment.
> 

Reply via email to