So here is my sql statement and connection to the DB(MS SQL), and this seems to work fine. I can do SELECTS and stuff from the DB with this connection
$SQL = "INSERT INTO iCDRSbw (rec_num,src_file,src_host,init_status,cdr +_day,last_modified,city,state,cname,vname, npa,nxx,ocn,lata,lata_name,pdd,zone_id,cdrs_seq,file_seq,g +c_id ) VALUES (?,?,?,?,?,?,?,?,?,?, ?,?,?,?,?,?,?,?,?,?)"; my $database_username = "USER"; my $database_password = "PASS"; my $msdsn = q/dbi:ODBC:DRIVER={SQL Server};Server=10.0.0.5;attr=value/ +; my $dbh = DBI->connect( $msdsn, $database_username, $database_password + ) or die "ERROR"; $dbh->do("use db_name") or log_die("$DBI::errstr");
And here is the execute
unless ( $sth->execute($rec_num, '$src_cdr_file', '$host','$init_status +', '$f[20]', '$f[04]', '$city', '$state', '$cname', '$vname', $npa, $nxx, '$ocn', $lata, $lata_name, $pdd, $f[0], $f[1], $f[2], '$f[3]' ) ) { $now = localtime(time); print "Error inserting: $DBI::errstr\n" if ($LOGERR); }
$f20 and $f04 are dates, everything else in single quotes are char fields. Otherwise they are int fields. All variables are populated, but just in case I set each field to allow NULL = true It gives me this error from the Server
Error inserting: [Microsoft][ODBC SQL Server Driver]Invalid character +value for cast specification (SQL-22018)(DBD: st_execute/SQLExecute e +rr=-1)
This statement works fine manually, so I am obviously not handling the variables correctly.
INSERT INTO iCDRSbw (rec_num,src_file,src_host,init_status,cdr_day,las +t_modified,city,state,cname,vname, npa,nxx,ocn,lata,lata_name,pdd,zone_id,cdrs_seq,file_seq,g +c_id ) VALUES (1,'icdr.5_5_5B.0.1.200712170000.052964.0','127.0.0.1','Unpro +cessed','2007-12-17 00:00:47', '2007-12-17 00:00:47','NA','NA',' ',' ', 999,999,' ',1,1, 1,1,1,1,'AAAAC0dlvAgiIAABC7Przw.7591990');

In reply to What is wrong with this mSQL insert? by hallikpapa

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.