Hi,

I've been having a few problems inserting date time fields into M$ SQL 7, 
from a client system running Compaq Tru64 unix 4.0, via Openlink's ODBC 
drivers.

I'm sure that I had got things working OK however now whenever I try and 
insert into a date time field, undef gets written away. So I'm now trying 
to reinstall DBD-ODBC-0.41 to make sure everything is as it should be and 
am seeing the following warnings from make and results from make test...

These results appear to show that there will be problems with binding to 
date time fields, but is this as a result of the warnings coming from the 
make, or the ODBC drivers themselves ? Taking a look at Makefile.PL, 
there is some mention of problems with ptrmismatch, but I can't find 
details of how to fix it...

If anyone could point me in the right direction here I would be very 
appreciative.


Regards,

Rob Leadbeater


# make realclean
rm -rf ODBC.c ODBC.xsi dbdodbc.h ./blib Makefile.aperl 
blib/arch/auto/DBD/ODBC/p
mv Makefile Makefile.old > /dev/null 2>&1
rm -rf blib/lib/auto/DBD/ODBC blib/arch/auto/DBD/ODBC
rm -f blib/arch/auto/DBD/ODBC/ODBC.so blib/arch/auto/DBD/ODBC/ODBC.bs
rm -f blib/arch/auto/DBD/ODBC/ODBC.a
rm -f blib/lib/DBD/ODBC.pm
rm -rf Makefile Makefile.old
#

# perl Makefile.PL

Configuring DBD::ODBC ...

>>>     Remember to actually *READ* the README file!
        And re-read it if you have any problems.

Using DBI 1.21 installed in 
/usr/local/lib/perl5/site_perl/5.6.0/alpha-dec_osf/I
Using ODBC in /usr/odbc/odbcsdk

Umm, this looks like a iodbc type of driver manager.

We expect to find the isql.h, isqlext.h and iodbc.h files (which were
supplied with iODBC) in $ODBCHOME/include directory alongside
the /usr/odbc/odbcsdk/lib/libiodbc.a /usr/odbc/odbcsdk/lib/libiodbc.so 
library.


Checking if your kit is complete...
Looks good
Using DBI 1.21 installed in 
/usr/local/lib/perl5/site_perl/5.6.0/alpha-dec_osf/I
Writing Makefile for DBD::ODBC

The DBD::ODBC tests will use these values for the database connection:
    DBI_DSN=dbi:ODBC:IMGSRV02           e.g. dbi:ODBC:demo
    DBI_USER=sa
    DBI_PASS=
Warning: not all required environment variables are set.

#
# make
mkdir blib
mkdir blib/lib
mkdir blib/lib/DBD
mkdir blib/arch
mkdir blib/arch/auto
mkdir blib/arch/auto/DBD
mkdir blib/arch/auto/DBD/ODBC
mkdir blib/lib/auto
mkdir blib/lib/auto/DBD
mkdir blib/lib/auto/DBD/ODBC
mkdir blib/man3
cp ODBC.pm blib/lib/DBD/ODBC.pm
/bin/perl -p -e "s/~DRIVER~/ODBC/g" < 
/usr/local/lib/perl5/site_perl/5.6.0/alpha
 -dec_osf/auto/DBI/Driver.xst > ODBC.xsi
/bin/perl -I/usr/local/lib/perl5/5.6.0/alpha-dec_osf 
 -I/usr/local/lib/perl5/5.6.
0 /usr/local/lib/perl5/5.6.0/ExtUtils/xsubpp  -typemap 
/usr/local/lib/perl5/5.6.
0/ExtUtils/typemap ODBC.xs > ODBC.xsc && mv ODBC.xsc ODBC.c
cc -c -I. -I/usr/local/lib/perl5/site_perl/5.6.0/alpha-dec_osf/auto/DBI 
 -std -fp
rm d -ieee -D_INTRINSICS -DLANGUAGE_C -O4      -DVERSION=\"0.41\" 
 -DXS_VERSION=
\"0.41\"  -I/usr/local/lib/perl5/5.6.0/alpha-dec_osf/CORE 
 -I/usr/odbc/odbcsdk/in
clude ODBC.c
cc: Warning: ODBC.xs, line 222: In this statement, the referenced type of 
the po
inter value "dsn" is "unsigned char", which is not compatible with "char" 
becaus
e they differ by signed/unsigned attribute. (ptrmismatch1)
        strcpy(dsn, "DBI:ODBC:");
 ---------------^
cc: Warning: ODBC.xs, line 242: In this statement, the referenced type of 
the po
inter value "dsn" is "unsigned char", which is not compatible with "const 
char"
because they differ by signed/unsigned attribute. (ptrmismatch1)
            ST(numDataSources++) = newSVpv(dsn, dsn_length+9 /* 
strlen("dbi:ODBC
:") */ );
 -------------------------------------------^
cc -c -I. -I/usr/local/lib/perl5/site_perl/5.6.0/alpha-dec_osf/auto/DBI 
 -std -fp
rm d -ieee -D_INTRINSICS -DLANGUAGE_C -O4      -DVERSION=\"0.41\" 
 -DXS_VERSION=
\"0.41\"  -I/usr/local/lib/perl5/5.6.0/alpha-dec_osf/CORE 
 -I/usr/odbc/odbcsdk/in
clude dbdimp.c
cc: Warning: dbdimp.c, line 252: In this statement, the referenced type 
of the p
ointer value "dbname" is "char", which is not compatible with "unsigned 
char" be
cause they differ by signed/unsigned attribute. (ptrmismatch1)
                          dbname,
 --------------------------^
cc: Warning: dbdimp.c, line 254: In this statement, the referenced type 
of the p
ointer value "szConnStrOut" is "char", which is not compatible with 
"unsigned ch
ar" because they differ by signed/unsigned attribute. (ptrmismatch1)
                          szConnStrOut,
 --------------------------^
cc: Warning: dbdimp.c, line 319: In this statement, the referenced type 
of the p
ointer value "dbname" is "char", which is not compatible with "unsigned 
char" be
cause they differ by signed/unsigned attribute. (ptrmismatch1)
                        dbname, (SQLSMALLINT)strlen(dbname),
 ------------------------^
cc: Warning: dbdimp.c, line 320: In this statement, the referenced type 
of the p
ointer value "uid" is "char", which is not compatible with "unsigned 
char" becau
se they differ by signed/unsigned attribute. (ptrmismatch1)
                        uid, (SQLSMALLINT)strlen(uid),
 ------------------------^
cc: Warning: dbdimp.c, line 321: In this statement, the referenced type 
of the p
ointer value "pwd" is "char", which is not compatible with "unsigned 
char" becau
se they differ by signed/unsigned attribute. (ptrmismatch1)
                        pwd, (SQLSMALLINT)strlen(pwd));
 ------------------------^
cc: Warning: dbdimp.c, line 464: In the definition of the function 
"dbd_error2",
 the promoted type of err_rc is incompatible with the type of the 
corresponding
parameter in a prior declaration. (promotmatchw)
RETCODE err_rc;
 --------^
cc: Warning: dbdimp.c, line 496: In this statement, the referenced type 
of the p
ointer value "sqlstate" is "unsigned char", which is not compatible with 
"const
char" because they differ by signed/unsigned attribute. (ptrmismatch1)
         sv_setpvn(DBIc_STATE(imp_xxh), sqlstate, 5);
 ----------------------------------------^
cc: Warning: dbdimp.c, line 501: In this statement, the referenced type 
of the p
ointer value "sqlstate" is "unsigned char", which is not compatible with 
"const
char" because they differ by signed/unsigned attribute. (ptrmismatch1)
            sv_setpv(DBIc_ERR(imp_xxh), sqlstate);
 ----------------------------------------^
cc: Warning: dbdimp.c, line 503: In this statement, the referenced type 
of the p
ointer value "ErrorMsg" is "unsigned char", which is not compatible with 
"const
char" because they differ by signed/unsigned attribute. (ptrmismatch1)
         sv_catpvn(errstr, ErrorMsg, ErrorMsgLen);
 ---------------------------^
cc: Warning: dbdimp.c, line 505: In this statement, the referenced type 
of the p
ointer value "sqlstate" is "unsigned char", which is not compatible with 
"const
char" because they differ by signed/unsigned attribute. (ptrmismatch1)
         sv_catpv(errstr, sqlstate);
 --------------------------^
cc: Warning: dbdimp.c, line 511: In this statement, the referenced type 
of the p
ointer value "sqlstate" is "unsigned char", which is not compatible with 
"const
char" because they differ by signed/unsigned attribute. (ptrmismatch1)
         if (what && !strcmp(sqlstate, "25000") && !strcmp(what, 
"db_disconnect/
SQLDisconnect")) {
 -----------------------------^
cc: Warning: dbdimp.c, line 560: In the definition of the function 
"odbc_error",
 the promoted type of err_rc is incompatible with the type of the 
corresponding
parameter in a prior declaration. (promotmatchw)
RETCODE err_rc;
 --------^
cc: Warning: dbdimp.c, line 756: In this statement, the referenced type 
of the p
ointer value "(catalog&&*catalog)?catalog:0" is "char", which is not 
compatible
with "unsigned char" because they differ by signed/unsigned attribute. 
(ptrmisma
tch1)
                   (catalog && *catalog) ? catalog : 0, SQL_NTS,
 -------------------^
cc: Warning: dbdimp.c, line 757: In this statement, the referenced type 
of the p
ointer value "(schema&&*schema)?schema:0" is "char", which is not 
compatible wit
h "unsigned char" because they differ by signed/unsigned attribute. 
(ptrmismatch
1)
                   (schema && *schema) ? schema : 0, SQL_NTS,
 -------------------^
cc: Warning: dbdimp.c, line 758: In this statement, the referenced type 
of the p
ointer value "(table&&*table)?table:0" is "char", which is not compatible 
with "
unsigned char" because they differ by signed/unsigned attribute. 
(ptrmismatch1)
                   (table && *table) ? table : 0, SQL_NTS,
 -------------------^
cc: Warning: dbdimp.c, line 759: In this statement, the referenced type 
of the p
ointer value "table_type&&*table_type?table_type:0" is "char", which is 
not comp
atible with "unsigned char" because they differ by signed/unsigned 
attribute. (p
trmismatch1)
                   table_type && *table_type ? table_type : 0, SQL_NTS
/* type (view, table, etc) */
 -------------------^
cc: Warning: dbdimp.c, line 811: In this statement, the referenced type 
of the p
ointer value "(catalog&&*catalog)?catalog:0" is "char", which is not 
compatible
with "unsigned char" because they differ by signed/unsigned attribute. 
(ptrmisma
tch1)
                       (catalog && *catalog) ? catalog : 0, SQL_NTS,
 -----------------------^
cc: Warning: dbdimp.c, line 812: In this statement, the referenced type 
of the p
ointer value "(schema&&*schema)?schema:0" is "char", which is not 
compatible wit
h "unsigned char" because they differ by signed/unsigned attribute. 
(ptrmismatch
1)
                       (schema && *schema) ? schema : 0, SQL_NTS,
 -----------------------^
cc: Warning: dbdimp.c, line 813: In this statement, the referenced type 
of the p
ointer value "(table&&*table)?table:0" is "char", which is not compatible 
with "
unsigned char" because they differ by signed/unsigned attribute. 
(ptrmismatch1)
                       (table && *table) ? table : 0, SQL_NTS);
 -----------------------^
cc: Warning: dbdimp.c, line 859: In this statement, the referenced type 
of the p
ointer value "imp_sth->statement" is "char", which is not compatible with 
"unsig
ned char" because they differ by signed/unsigned attribute. 
(ptrmismatch1)
                    imp_sth->statement, strlen(imp_sth->statement));
 --------------------^
cc: Warning: dbdimp.c, line 1248: In this statement, the referenced type 
of the
pointer value 
"(((phs->sv)->sv_flags&(0X0000000000040000))==0X0000000000040000?(
(len=((XPV ...)(phs->sv)->sv_any)->xpv_cur),((XPV 
....)(phs->sv)->sv_any)->xpv_pv
):Perl_sv_2pv(...))" is "char", which is not compatible with "unsigned 
char" bec
ause they differ by signed/unsigned attribute. (ptrmismatch1)
        ptr = SvPV(phs->sv, len);
 --------^
cc: Warning: dbdimp.c, line 1656: In this declaration, "_dbd_rebind_ph" 
is decla
red with both internal and external linkage.  The previous declaration is 
at lin
e number 1203 in file dbdimp.c. (mixlinkage)
   _dbd_rebind_ph(sth, imp_sth, phs, maxlen)
 ---^
cc: Warning: dbdimp.c, line 1865: In this statement, the referenced type 
of the
pointer value "phs->sv_buf" is "char", which is not compatible with 
"unsigned ch
ar" because they differ by signed/unsigned attribute. (ptrmismatch1)
        rgbValue = phs->sv_buf;
 --------^
cc: Info: dbdimp.c, line 2003: In this statement, "_dbd_rebind_ph", which 
was de
clared with an old-style function definition, expects 4 arguments, but 3 
are sup
plied. (toofewargso)
    return _dbd_rebind_ph(sth, imp_sth, phs);
 -----------^
cc: Warning: dbdimp.c, line 2378: In this statement, the referenced type 
of the
pointer value "imp_sth->fbh[i].ColName" is "unsigned char", which is not 
compati
ble with "const char" because they differ by signed/unsigned attribute. 
(ptrmism
atch1)
                av_store(av, i, newSVpv(imp_sth->fbh[i].ColName, 0));
 ----------------------------------------^
cc: Warning: dbdimp.c, line 2420: In this statement, the referenced type 
of the
pointer value "cursor_name" is "char", which is not compatible with 
"unsigned ch
ar" because they differ by signed/unsigned attribute. (ptrmismatch1)
                                  cursor_name, sizeof(cursor_name), 
&cursor_name
_len);
 ----------------------------------^
cc: Warning: dbdimp.c, line 2571: In this statement, the referenced type 
of the
pointer value "CatalogName" is "char", which is not compatible with 
"unsigned ch
ar" because they differ by signed/unsigned attribute. (ptrmismatch1)
                       CatalogName, strlen(CatalogName),
 -----------------------^
cc: Warning: dbdimp.c, line 2572: In this statement, the referenced type 
of the
pointer value "SchemaName" is "char", which is not compatible with 
"unsigned cha
r" because they differ by signed/unsigned attribute. (ptrmismatch1)
                       SchemaName, strlen(SchemaName),
 -----------------------^
cc: Warning: dbdimp.c, line 2573: In this statement, the referenced type 
of the
pointer value "TableName" is "char", which is not compatible with 
"unsigned char
" because they differ by signed/unsigned attribute. (ptrmismatch1)
                       TableName, strlen(TableName),
 -----------------------^
cc: Warning: dbdimp.c, line 2606: In this statement, the referenced type 
of the
pointer value "CatalogName" is "char", which is not compatible with 
"unsigned ch
ar" because they differ by signed/unsigned attribute. (ptrmismatch1)
                        CatalogName, strlen(CatalogName),
 ------------------------^
cc: Warning: dbdimp.c, line 2607: In this statement, the referenced type 
of the
pointer value "SchemaName" is "char", which is not compatible with 
"unsigned cha
r" because they differ by signed/unsigned attribute. (ptrmismatch1)
                        SchemaName, strlen(SchemaName),
 ------------------------^
cc: Warning: dbdimp.c, line 2608: In this statement, the referenced type 
of the
pointer value "TableName" is "char", which is not compatible with 
"unsigned char
" because they differ by signed/unsigned attribute. (ptrmismatch1)
                        TableName, strlen(TableName));
 ------------------------^
cc: Warning: dbdimp.c, line 2645: In this statement, the referenced type 
of the
pointer value "CatalogName" is "char", which is not compatible with 
"unsigned ch
ar" because they differ by signed/unsigned attribute. (ptrmismatch1)
                           Identifier, CatalogName, strlen(CatalogName),
 ---------------------------------------^
cc: Warning: dbdimp.c, line 2646: In this statement, the referenced type 
of the
pointer value "SchemaName" is "char", which is not compatible with 
"unsigned cha
r" because they differ by signed/unsigned attribute. (ptrmismatch1)
                           SchemaName, strlen(SchemaName),
 ---------------------------^
cc: Warning: dbdimp.c, line 2647: In this statement, the referenced type 
of the
pointer value "TableName" is "char", which is not compatible with 
"unsigned char
" because they differ by signed/unsigned attribute. (ptrmismatch1)
                           TableName, strlen(TableName),
 ---------------------------^
cc: Warning: dbdimp.c, line 2683: In this statement, the referenced type 
of the
pointer value "PK_CatalogName" is "char", which is not compatible with 
"unsigned
 char" because they differ by signed/unsigned attribute. (ptrmismatch1)
                        PK_CatalogName, strlen(PK_CatalogName),
 ------------------------^
cc: Warning: dbdimp.c, line 2684: In this statement, the referenced type 
of the
pointer value "PK_SchemaName" is "char", which is not compatible with 
"unsigned
char" because they differ by signed/unsigned attribute. (ptrmismatch1)
                        PK_SchemaName, strlen(PK_SchemaName),
 ------------------------^
cc: Warning: dbdimp.c, line 2685: In this statement, the referenced type 
of the
pointer value "PK_TableName" is "char", which is not compatible with 
"unsigned c
har" because they differ by signed/unsigned attribute. (ptrmismatch1)
                        PK_TableName, strlen(PK_TableName),
 ------------------------^
cc: Warning: dbdimp.c, line 2686: In this statement, the referenced type 
of the
pointer value "FK_CatalogName" is "char", which is not compatible with 
"unsigned
 char" because they differ by signed/unsigned attribute. (ptrmismatch1)
                        FK_CatalogName, strlen(FK_CatalogName),
 ------------------------^
cc: Warning: dbdimp.c, line 2687: In this statement, the referenced type 
of the
pointer value "FK_SchemaName" is "char", which is not compatible with 
"unsigned
char" because they differ by signed/unsigned attribute. (ptrmismatch1)
                        FK_SchemaName, strlen(FK_SchemaName),
 ------------------------^
cc: Warning: dbdimp.c, line 2688: In this statement, the referenced type 
of the
pointer value "FK_TableName" is "char", which is not compatible with 
"unsigned c
har" because they differ by signed/unsigned attribute. (ptrmismatch1)
                        FK_TableName, strlen(FK_TableName));
 ------------------------^
cc: Warning: dbdimp.c, line 2702: In the definition of the function 
"odbc_descri
be_col", the promoted type of BufferLength is incompatible with the type 
of the
corresponding parameter in a prior declaration. (promotmatchw)
I16 BufferLength;
 ----^
cc: Warning: dbdimp.c, line 2712: In this statement, the referenced type 
of the
pointer value "ColumnName" is "char", which is not compatible with 
"unsigned cha
r" because they differ by signed/unsigned attribute. (ptrmismatch1)
                        ColumnName, BufferLength, NameLength,
 ------------------------^
cc: Warning: dbdimp.c, line 2713: In this statement, the referenced type 
of the
pointer value "ColumnSize" is "unsigned int", which is not compatible 
with "unsi
gned long". (ptrmismatch)
                        DataType, ColumnSize, DecimalDigits, Nullable);
 ----------------------------------^
cc: Warning: dbdimp.c, line 2902: In this statement, the referenced type 
of the
pointer value "(catalog&&*catalog)?catalog:0" is "char", which is not 
compatible
 with "unsigned char" because they differ by signed/unsigned attribute. 
(ptrmism
atch1)
                    (catalog && *catalog) ? catalog : 0, SQL_NTS,
 --------------------^
cc: Warning: dbdimp.c, line 2903: In this statement, the referenced type 
of the
pointer value "(schema&&*schema)?schema:0" is "char", which is not 
compatible wi
th "unsigned char" because they differ by signed/unsigned attribute. 
(ptrmismatc
h1)
                    (schema && *schema) ? schema : 0, SQL_NTS,
 --------------------^
cc: Warning: dbdimp.c, line 2904: In this statement, the referenced type 
of the
pointer value "(table&&*table)?table:0" is "char", which is not 
compatible with
"unsigned char" because they differ by signed/unsigned attribute. 
(ptrmismatch1)
                    (table && *table) ? table : 0, SQL_NTS,
 --------------------^
cc: Warning: dbdimp.c, line 2905: In this statement, the referenced type 
of the
pointer value "(column&&*column)?column:0" is "char", which is not 
compatible wi
th "unsigned char" because they differ by signed/unsigned attribute. 
(ptrmismatc
h1)
                    (column && *column) ? column : 0, SQL_NTS);
 --------------------^
Running Mkbootstrap for DBD::ODBC ()
chmod 644 ODBC.bs
ar cr tmp.a ODBC.o  dbdimp.o
: tmp.a
LD_RUN_PATH="/usr/odbc/odbcsdk/lib" ld -o blib/arch/auto/DBD/ODBC/ODBC.so 
 -shar
ed -expect_unresolved "*" -O4 -msym -std -s -all tmp.a -none 
   -L/usr/odbc/odbc
sdk/lib -liodbc
chmod 755 blib/arch/auto/DBD/ODBC/ODBC.so
cp ODBC.bs blib/arch/auto/DBD/ODBC/ODBC.bs
chmod 644 blib/arch/auto/DBD/ODBC/ODBC.bs
Manifying blib/man3/DBD::ODBC.3


# make test
PERL_DL_NONLAZY=1 /bin/perl -Iblib/arch -Iblib/lib 
 -I/usr/local/lib/perl5/5.6.0/
alpha-dec_osf -I/usr/local/lib/perl5/5.6.0 -e 'use Test::Harness 
qw(&runtests $v
erbose); $verbose=0; runtests @ARGV;' t/*.t
t/01base............ok
t/02simple..........ok 4/17DBD::ODBC::db do failed: [OpenLink][ODBC][SQL 
Server]
Cannot insert the value NULL into column 'COL_D', table 'Repository.dbo.P
ERL_DBD_TEST'; column does not allow nulls. INSERT fails. 
(SQL-S1000)(DBD: Execu
te immediate failed err=-1) at t/ODBCTEST.pm line 153.
t/02simple..........NOK 5DBD::ODBC::st fetchrow failed: 
[OpenLink][ODBC][Driver]
Data was truncated (SQL-S1004)(DBD: st_fetch/SQLFetch (long truncated) 
err=1) at
 t/02simple.t line 160.
t/02simple..........ok 17/17FAILED tests 5, 8, 11, 14
        Failed 4/17 tests, 76.47% okay
t/03dbatt...........ok
t/05meth............ok
t/07bind............ok 3/9DBD::ODBC::st execute failed: 
[OpenLink][ODBC][SQL Ser
ver]Cannot insert the value NULL into column 'COL_D', table 'Repository.d
bo.PERL_DBD_TEST'; column does not allow nulls. INSERT fails. 
(SQL-S1000)(DBD: s
t_execute/SQLExecute err=-1) at t/ODBCTEST.pm line 210.
Test 4 is known to fail often. It is not a major concern.  It *may* be an 
indica
tion of being unable to bind datetime values correctly.
t/07bind............ok 5/9DBD::ODBC::st execute failed: 
[OpenLink][ODBC][SQL Ser
ver]Cannot insert the value NULL into column 'COL_D', table 'Repository.d
bo.PERL_DBD_TEST'; column does not allow nulls. INSERT fails. 
(SQL-S1000)(DBD: s
t_execute/SQLExecute err=-1) at t/ODBCTEST.pm line 210.
Since test #4 failed, this could be indicative of a problem with date 
time bindi
ng, as per #4 above.
t/07bind............ok 9/9FAILED tests 4, 6
        Failed 2/9 tests, 77.78% okay
t/08bind2...........DBD::ODBC::st execute failed: [OpenLink][ODBC][SQL 
Server]Ca
nnot insert the value NULL into column 'COL_D', table 'Repository.dbo.PER
L_DBD_TEST'; column does not allow nulls. INSERT fails. (SQL-S1000)(DBD: 
st_exec
ute/SQLExecute err=-1) at t/ODBCTEST.pm line 210.
These are tests which rely upon the driver to tell what the parameter 
type is fo
r the column.  This means you need to ensure you tell your driver the 
type of th
e column in bind_col().
t/08bind2...........NOK 1DBD::ODBC::st execute failed: 
[OpenLink][ODBC][SQL Serv
er]Cannot insert the value NULL into column 'COL_D', table 'Repository.db
o.PERL_DBD_TEST'; column does not allow nulls. INSERT fails. 
(SQL-S1000)(DBD: st
_execute/SQLExecute err=-1) at t/ODBCTEST.pm line 210.
t/08bind2...........NOK 2DBD::ODBC::st execute failed: 
[OpenLink][ODBC][SQL Serv
er]Syntax error converting datetime from character string. 
(SQL-S1000)(DBD: st_e
xecute/SQLExecute err=-1) at t/ODBCTEST.pm line 210.
t/08bind2...........NOK 3FAILED tests 1-3
        Failed 3/3 tests, 0.00% okay
t/09multi...........ok 1/4DBD::ODBC::db do failed: [OpenLink][ODBC][SQL 
Server]C
annot insert the value NULL into column 'COL_D', table 'Repository.dbo.PE
RL_DBD_TEST'; column does not allow nulls. INSERT fails. (SQL-S1000)(DBD: 
Execut
e immediate failed err=-1) at t/ODBCTEST.pm line 153.
t/09multi...........dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 2-4
        Failed 3/4 tests, 25.00% okay
Failed Test  Status Wstat Total Fail  Failed  List of failed
 -------------------------------------------------------------------------- 
 -----
t/02simple.t                 17    4  23.53%  5, 8, 11, 14
t/07bind.t                    9    2  22.22%  4, 6
t/08bind2.t                   3    3 100.00%  1-3
t/09multi.t     255 65280     4    3  75.00%  2-4
Failed 4/7 test scripts, 42.86% okay. 12/50 subtests failed, 76.00% okay.
*** Exit 2
Stop.

# make test TEST_VERBOSE=1
PERL_DL_NONLAZY=1 /bin/perl -Iblib/arch -Iblib/lib 
 -I/usr/local/lib/perl5/5.6.0/
alpha-dec_osf -I/usr/local/lib/perl5/5.6.0 -e 'use Test::Harness 
qw(&runtests $v
erbose); $verbose=1; runtests @ARGV;' t/*.t
t/01base............1..5
ok 1
ok 2
ok 3
ok 4
ok 5
ok
t/02simple..........1..17
ok 1
 Test 2: connecting to the database
ok 2
 Test 3: create test table
Using fields: COL_A smallint, COL_B varchar(255), COL_C text, COL_D 
datetime
ok 3
 Test 4: check existance of test table
(unknown owner).PERL_DBD_TEST
ok 4
 Test 5: insert test data
DBD::ODBC::db do failed: [OpenLink][ODBC][SQL Server]Cannot insert the 
value NUL
L into column 'COL_D', table 'Repository.dbo.PERL_DBD_TEST'; column does
not allow nulls. INSERT fails. (SQL-S1000)(DBD: Execute immediate failed 
err=-1)
 at t/ODBCTEST.pm line 153.
not ok 5
 Test 6: select test data
DBD::ODBC::st fetchrow failed: [OpenLink][ODBC][Driver]Data was truncated 
(SQL-S
1004)(DBD: st_fetch/SQLFetch (long truncated) err=1) at t/02simple.t line 
160.
ok 6
 Tests 7,8: test LongTruncOk
ok 7
not ok 8
 Test 9: test ColAttributes
Column count is: 4
1: COL_A = 5
2: COL_B = 12
3: COL_C = -1
4: COL_D = 11
ok 9
 Test 10: test $DBI::err
ok 10
 Test 11: test date values
not ok 11
 Test 12: test group by queries
1, 1
2, 1
3, 1
ok 12
 Test 13: test data_sources
Data sources:
        DBI:ODBC:SRV02
        DBI:ODBC:SRV03

ok 13
 Test 14: test ping method
not ok 14
 Test 15: test storing of DBH parameter
ok 15
ok 16
 Test 17: test get_info
 connected to Microsoft SQL Server
ok 17
FAILED tests 5, 8, 11, 14
        Failed 4/17 tests, 76.47% okay
t/03dbatt...........1..6
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok
t/05meth............1..6
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
calling finish
resetting attributes
disconnecting
disconnected
ok
t/07bind............1..9
ok 1
 Test 2: connecting to the database
ok 2
 Test 3: create test table
Using fields: COL_A smallint, COL_B varchar(255), COL_C text, COL_D 
datetime
ok 3
 Test 4: insert test data
Binding the value: 1 type = 5
SQL_DATE = 9 SQL_TIMESTAMP = 11
TYPE FOUND = 11
DBD::ODBC::st execute failed: [OpenLink][ODBC][SQL Server]Cannot insert 
the valu
e NULL into column 'COL_D', table 'Repository.dbo.PERL_DBD_TEST'; column
does not allow nulls. INSERT fails. (SQL-S1000)(DBD: 
st_execute/SQLExecute err=-
1) at t/ODBCTEST.pm line 210.
Test 4 is known to fail often. It is not a major concern.  It *may* be an 
indica
tion of being unable to bind datetime values correctly.
not ok 4
 Test 5: select test data
ok 5
 Test 6: insert long test data
Binding the value: 4 type = 5
SQL_DATE = 9 SQL_TIMESTAMP = 11
TYPE FOUND = 11
DBD::ODBC::st execute failed: [OpenLink][ODBC][SQL Server]Cannot insert 
the valu
e NULL into column 'COL_D', table 'Repository.dbo.PERL_DBD_TEST'; column
does not allow nulls. INSERT fails. (SQL-S1000)(DBD: 
st_execute/SQLExecute err=-
1) at t/ODBCTEST.pm line 210.
Since test #4 failed, this could be indicative of a problem with date 
time bindi
ng, as per #4 above.
not ok 6
 Test 7: check long test data
ok 7
 Test 8: update long test data
ok 8
 Test 9: check long test data
ok 9
FAILED tests 4, 6
        Failed 2/9 tests, 77.78% okay
t/08bind2...........1..3
 Test 1:  insert various test data, without having this test tell the 
driver the
 type
          that is being bound to a column.  This tests the use of 
SQLDescribePar
am to obtain
          the column type on the insert.  This is experimental and will 
most lik
ely fail.
SQL_DATE = 9 SQL_TIMESTAMP = 11
TYPE FOUND = 11
DBD::ODBC::st execute failed: [OpenLink][ODBC][SQL Server]Cannot insert 
the valu
e NULL into column 'COL_D', table 'Repository.dbo.PERL_DBD_TEST'; column
does not allow nulls. INSERT fails. (SQL-S1000)(DBD: 
st_execute/SQLExecute err=-
1) at t/ODBCTEST.pm line 210.
These are tests which rely upon the driver to tell what the parameter 
type is fo
r the column.  This means you need to ensure you tell your driver the 
type of th
e column in bind_col().
not ok 1
SQL_DATE = 9 SQL_TIMESTAMP = 11
TYPE FOUND = 11
DBD::ODBC::st execute failed: [OpenLink][ODBC][SQL Server]Cannot insert 
the valu
e NULL into column 'COL_D', table 'Repository.dbo.PERL_DBD_TEST'; column
does not allow nulls. INSERT fails. (SQL-S1000)(DBD: 
st_execute/SQLExecute err=-
1) at t/ODBCTEST.pm line 210.
not ok 2
SQL_DATE = 9 SQL_TIMESTAMP = 11
TYPE FOUND = 11
DBD::ODBC::st execute failed: [OpenLink][ODBC][SQL Server]Syntax error 
convertin
g datetime from character string. (SQL-S1000)(DBD: st_execute/SQLExecute 
err=-1)
 at t/ODBCTEST.pm line 210.
not ok 3
FAILED tests 1-3
        Failed 3/3 tests, 0.00% okay
t/09multi...........1..4
ok 1
DBD::ODBC::db do failed: [OpenLink][ODBC][SQL Server]Cannot insert the 
value NUL
L into column 'COL_D', table 'Repository.dbo.PERL_DBD_TEST'; column does
not allow nulls. INSERT fails. (SQL-S1000)(DBD: Execute immediate failed 
err=-1)
 at t/ODBCTEST.pm line 153.
dubious
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 2-4
        Failed 3/4 tests, 25.00% okay
Failed Test  Status Wstat Total Fail  Failed  List of failed
 -------------------------------------------------------------------------- 
 -----
t/02simple.t                 17    4  23.53%  5, 8, 11, 14
t/07bind.t                    9    2  22.22%  4, 6
t/08bind2.t                   3    3 100.00%  1-3
t/09multi.t     255 65280     4    3  75.00%  2-4
Failed 4/7 test scripts, 42.86% okay. 12/50 subtests failed, 76.00% okay.
*** Exit 2
Stop. 


This message is intended only for the use of the person(s) ("The intended
Recipient(s)") to whom it is addressed.  It may contain information which
is privileged and confidential within the meaning of applicable law.  If
you are not the intended recipient, please contact the sender as soon as
possible.  The views expressed in this communication are not necessarily
those held by LYNX Express Limited.

Reply via email to