title: INSERT failed because the following SET options have incorrect setting only in Perl Sybase
body: <p>I have the following Perl script:</p>
  <pre><code>use strict;
  use warnings;
  use DBI;
  
  my $db_connect = 'dbi:Sybase:server=10.2.2.2\CATDB;charset=utf8;database=Dev';
  my $db_username = &quot;*****&quot;;
  my $db_password = &quot;*****&quot;;
  
  my $dbh = DBI-&gt;connect($db_connect, $db_username, $db_password,{ RaiseError =&gt; 1, 
              PrintError =&gt; 1, 
              AutoCommit =&gt; 1,
              syb_chained_txn =&gt; 0, 
              syb_enable_utf8 =&gt; 1  } ) || die &quot;Failed to connect to *** database: $DBI::errstr\n&quot;;
  
  my $insertContractSQL2 = '
  BEGIN
  DECLARE @ContractID int
  UPDATE dbo.Sequences SET NextContractID = NextContractID + 1
  SET @ContractID = (SELECT NextContractID FROM dbo.Sequences)
   
  SET ANSI_NULL_DFLT_ON, ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON
  SET ANSI_NULL_DFLT_OFF, ARITHIGNORE, CURSOR_CLOSE_ON_COMMIT, IMPLICIT_TRANSACTIONS, NOCOUNT, NUMERIC_ROUNDABORT, XACT_ABORT OFF
  
  INSERT INTO dbo.CONTRACTS 
              (ContractID
              ,modifieddate
              ,FranchiseID
              ,FamilyID
              ,EducatorID
              ,StartDate
              ,EndDate
              ,ContractTypeID
              ,PayRate1
              ,PayRate2
              ,PayRate3
              ,PayRate1Hours
              ,PayRate2Hours
              ,PayRate3Hours
              ,WageAdminContractorRate
              ,ContributionContractorRate
              ,WageAdminAmount
              ,ACCAmount
              ,PorseContributionAmount
              ,WINZSubsidyAmount
              ,WINZSubsidyAmountChildcareOSCAR
              ,ACCInvoicedPerQuarterAmount
              ,FamilyAPAmount
              ,OtherFortnightPayment
              ,OtherFortnightPaymentDesc
              ,ReferralAgencyID
              ,NextAppraisalDate
              ,NextAppraisalTypeID
              ,PendingApproval
              ,Active
              ,modifiedby
              ,BeingEdited
              ,MOENetworkID
              ,NewFlag
              ,ReceivedDate
              ,FreeECEAmount
              ,OptionalChargeRate
              ,OptionalChargeAgreement
              ,TerminationApproved
              ,AgreedDeductions
              ,PayRateEce
              ,PayRateEceHours
              ,PreECEClarity
              ,TotalOptionalCharges
              ,NonChildContributionAmount
              ,FreeECETopup
              ,Donation
              ,NonChildWinzChildcareAmount
              ,ManuallyTerminated
              ,ContractDuplicatedFlag
              ,CreateDate
              ,RosteredContractID)
              VALUES (
               @ContractID
              ,GETDATE()
              ,63,22901,9134,\'2014-06-03 00:00:00.0\',\'2014-06-28 00:00:00.0\',2,0,0,0,5,0,0,4.75,0,0,0,0,0,0,0,0,0,null,null,null,null,0,1,\'admin\',1,null,0,\'2014-06-10 00:00:00.0\',0,0,0,0,null,0,0,0,0,0,0,0,0,0,0,\'2014-06-03 15:30:15.037\',4)
   
  END  
  ';
  
   $dbh-&gt;do($insertContractSQL2);
  </code></pre>
  <p>When it runs I get:</p>
  <pre><code>/usr/bin/perl test.pl
  DBD::Sybase::db do failed: Server message number=1934 severity=16 state=1 
      line=10 server= text=INSERT failed because the
      following SET options have incorrect settings: 'ANSI_NULLS, 
      CONCAT_NULL_YIELDS_NULL, ANSI_WARNINGS, ANSI_PADDING'. Verify that 
      SET options are correct for use with indexed views and/or indexes on 
      computed columns and/or filtered indexes and/or query notifications 
      and/or XML data type methods and/or spatial index operations.  
      at test.pl line 89.
  </code></pre>
  <p>Now this is a lousy question I know. But I have run the same query via three different GUIs for SQL Server and I don't get this error. I have gone through the first 3 or 4 pages of Google results, and have gotten nowhere. Any information would be much appreciated.</p>
  <p>Note: I assume that because the query runs in other tools that set options are correct.</p>