Jeff,
It worked! I reran the coltest.pl script (which worked this morning) and the
inttest.pl script with much better results. I also reran 'nmake test TEST_VERBOSE=1'
and attached the new results as well.
Thanks again.
-Jim
D:\Webroot\cgi-bin\tempdir>coltest.pl
Getting column info for: MyDSN, dbo, foo
TABLE_CAT, TABLE_SCHEM, TABLE_NAME, COLUMN_NAME, DATA_TYPE, TYPE_NAME, COLUMN_SIZE,
BUFFER_LENGTH, DECIMAL_DIGITS, NUM_PREC_RADIX, NULLABLE, REMARKS, COLUMN_DEF,
SQL_DATA_TYPE, SQL_DATETIME_SUB, CHAR_OCTET_LENGTH, ORDINAL_POSITION, IS_NULLABLE,
SS_DATA_TYPE
ReturnOfSemtech, dbo, foo, id, 4, int, 10, 4, 0, 10, 0, , , 4, , , 1, NO , 56
ReturnOfSemtech, dbo, foo, longint, -5, bigint, 19, 8, 0, 10, 1, , , -5, , , 2,
YES, 108
D:\Webroot\cgi-bin\tempdir>inttest.pl
Connected to Microsoft SQL Server
Inserted 103 records.
Checking row 0 (4)
Checking row 1 (4)
Checking row 2 (7)
Checking row 3 (7)
Checking row 4 (7)
Checking row 5 (7)
Checking row 6 (7)
Checking row 7 (7)
Checking row 8 (12)
Checking row 9 (12)
Checking row 10 (12)
Checking row 11 (7)
Checking row 12 (7)
Checking row 13 (7)
Checking row 14 (7)
Checking row 15 (7)
Checking row 16 (7)
Checking row 17 (7)
Checking row 18 (7)
Checking row 19 (7)
Checking row 20 (88)
Checking row 21 (7)
Checking row 22 (7)
Checking row 23 (7)
Checking row 24 (100)
Checking row 25 (100)
Checking row 26 (12)
Checking row 27 (7)
Checking row 28 (183)
Checking row 29 (7)
Checking row 30 (7)
Checking row 31 (7)
Checking row 32 (7)
Checking row 33 (7)
Checking row 34 (7)
Checking row 35 (7)
Checking row 36 (7)
Checking row 37 (7)
Checking row 38 (7)
Checking row 39 (7)
Checking row 40 (7)
Checking row 41 (7)
Checking row 42 (7)
Checking row 43 (7)
Checking row 44 (7)
Checking row 45 (7)
Checking row 46 (7)
Checking row 47 (7)
Checking row 48 (7)
Checking row 49 (7)
Checking row 50 (7)
Checking row 51 (7)
Checking row 52 (7)
Checking row 53 (7)
Checking row 54 (7)
Checking row 55 (7)
Checking row 56 (7)
Checking row 57 (7)
Checking row 58 (7)
Checking row 59 (7)
Checking row 60 (7)
Checking row 61 (7)
Checking row 62 (7)
Checking row 63 (7)
Checking row 64 (7)
Checking row 65 (7)
Checking row 66 (114)
Checking row 67 (251)
Checking row 68 (282)
Checking row 69 (281)
Checking row 70 (276)
Checking row 71 (131)
Checking row 72 (284)
Checking row 73 (144)
Checking row 74 (131)
Checking row 75 (144)
Checking row 76 (144)
Checking row 77 (131)
Checking row 78 (284)
Checking row 79 (144)
Checking row 80 (251)
Checking row 81 (284)
Checking row 82 (144)
Checking row 83 (284)
Checking row 84 (3)
Checking row 85 (284)
Checking row 86 (276)
Checking row 87 (284)
Checking row 88 (276)
Checking row 89 (3)
Checking row 90 (284)
Checking row 91 (144)
Checking row 92 (284)
Checking row 93 (7)
Checking row 94 (131)
Checking row 95 (144)
Checking row 96 (284)
Checking row 97 (284)
Checking row 98 (276)
Checking row 99 (131)
Checking row 100 (131)
Checking row 101 (114)
Checking row 102 (122)
Checked 103 records
C:\Download\Perl\DBD-ODBC-0.45_5>nmake test TEST_VERBOSE=1
Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
C:\Perl\bin\perl.exe -Mblib -IC:\Perl\lib -IC:\Perl\lib -e "use Test::H
rness qw(&runtests $verbose); $verbose=1; runtests @ARGV;" t\01base.t t\02simpl
..t t\03dbatt.t t\05meth.t t\07bind.t t\08bind2.t t\09multi.t
Using C:/Download/Perl/DBD-ODBC-0.45_5/blib
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 NOT NULL PRIMARY KEY , COL_B varchar(8000), COL_C
ext, COL_D datetime
ok 3
Test 4: check existance of test table
(unknown owner).PERL_DBD_TEST
ok 4
Test 5: insert test data
93 is not date!
93 is not date!
93 is not date!
93 is not date!
93 is not date!
ok 5
Test 6: select test data
1|foo|foo varchar|
2|bar|bar varchar|
3|bletch|bletch varchar|
4|80char|THIS IS A STRING LONGER THAN 80 CHARS. THIS SHOULD BE CHECKED FOR TRU
CATION AND COMPARED WITH ITSELF.|
5|gt250char|THIS IS A STRING LONGER THAN 80 CHARS. THIS SHOULD BE CHECKED FOR
RUNCATION AND COMPARED WITH ITSELF. THIS IS A STRING LONGER THAN 80 CHARS. TH
S SHOULD BE CHECKED FOR TRUNCATION AND COMPARED WITH ITSELF. THIS IS A STRING
ONGER THAN 80 CHARS. THIS SHOULD BE CHECKED FOR TRUNCATION AND COMPARED WITH I
SELF. THIS IS A STRING LONGER THAN 80 CHARS. THIS SHOULD BE CHECKED FOR TRUNC
TION AND COMPARED WITH ITSELF.|
retrieved 103 byte string OK
retrieved 418 byte string OK
ok 6
Tests 7,8: test LongTruncOk
ok 7
ok 8
Test 9: test ColAttributes
Column count is: 4
1: COL_A = 5 5 yes
2: COL_B = 12 12 yes
3: COL_C = -1 -1 yes
4: COL_D = 93 93 yes
ok 9
Test 10: test $DBI::err
ok 10
Test 11: test date or timestamp values
93 is not date!
1998-05-14 00:00:00.000
ok 11
Test 12: test group by queries
1, 1
2, 1
3, 1
4, 1
5, 1
ok 12
Test 13: test data_sources
Data sources:
DBI:ODBC:Visual FoxPro Database
DBI:ODBC:Visual FoxPro Tables
DBI:ODBC:dBase Files - Word
DBI:ODBC:FoxPro Files - Word
DBI:ODBC:MQIS
DBI:ODBC:DeluxeCD
DBI:ODBC:MS Access Database
DBI:ODBC:Excel Files
DBI:ODBC:dBASE Files
DBI:ODBC:CompassTravel
DBI:ODBC:SiteMinder Data Source
DBI:ODBC:LocalServer
DBI:ODBC:MyDSN
ok 13
Test 14: test ping method
ok 14
Test 15: test storing of DBH parameter
ok 15
Attrib not true (1)
ok 16
Test 17: test get_info
connected to Microsoft SQL Server
ok 17
ok
t\03dbatt...........1..9
ok 1
ok 2
93 is not date!
ok 3
ok 4
93 is not date!
ok 5
ok 6
ok 7
ok 8
ok 9
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..11
ok 1
Test 2: connecting to the database
ok 2
Test 3: create test table
Using fields: COL_A smallint NOT NULL PRIMARY KEY , COL_B varchar(8000), COL_C
ext, COL_D datetime
ok 3
Test 4: insert test data
Binding the value: 1 type = 5
TYPE FOUND = 93
93 is not date!
Binding the value: 2 type = 5
TYPE FOUND = 93
93 is not date!
Binding the value: 3 type = 5
TYPE FOUND = 93
93 is not date!
Binding the value: 4 type = 5
TYPE FOUND = 93
93 is not date!
Binding the value: 5 type = 5
TYPE FOUND = 93
93 is not date!
Binding the value: 6 type = 5
TYPE FOUND = 93
93 is not date!
ok 4
Test 5: select test data
1|foo|foo varchar|
2|bar|bar varchar|
3|bletch|bletch varchar|
4|bletch4|bletch varchar|
5|bletch5|bletch varchar|
6|bletch6|bletch varchar|
ok 5
Test 6: insert long test data
Binding the value: 10 type = 5
TYPE FOUND = 93
93 is not date!
Binding the value: 11 type = 5
TYPE FOUND = 93
93 is not date!
Binding the value: 12 type = 5
TYPE FOUND = 93
93 is not date!
ok 6
Test 7: check long test data
10|foo2|This is a test of a string that is longer than 80 characters. It will
e checked for truncation and compared with itself.|
11|bar2|This is a test of a string that is longer than 80 characters. It will
e checked for truncation and compared with itself. This is a test of a string
hat is longer than 80 characters. It will be checked for truncation and compar
d with itself.|
12|bletch2|This is a test of a string that is longer than 80 characters. It wi
l be checked for truncation and compared with itself. This is a test of a stri
g that is longer than 80 characters. It will be checked for truncation and com
ared with itself. This is a test of a string that is longer than 80 characters
It will be checked for truncation and compared with itself. This is a test o
a string that is longer than 80 characters. It will be checked for truncation
and compared with itself.|
ok 7
Test 8: update long test data
ok 8
Test 9: check long test data
10|foo2|This is a test of a string that is longer than 80 characters. It will
e checked for truncation and compared with itself. This is a test of a string
hat is longer than 80 characters. It will be checked for truncation and compar
d with itself.|
11|bar2|This is a test of a string that is longer than 80 characters. It will
e checked for truncation and compared with itself. This is a test of a string
hat is longer than 80 characters. It will be checked for truncation and compar
d with itself. This is a test of a string that is longer than 80 characters.
t will be checked for truncation and compared with itself. This is a test of a
string that is longer than 80 characters. It will be checked for truncation an
compared with itself.|
12|bletch2|This is a test of a string that is longer than 80 characters. It wi
l be checked for truncation and compared with itself. This is a test of a stri
g that is longer than 80 characters. It will be checked for truncation and com
ared with itself. This is a test of a string that is longer than 80 characters
It will be checked for truncation and compared with itself. This is a test o
a string that is longer than 80 characters. It will be checked for truncation
and compared with itself. This is a test of a string that is longer than 80 ch
racters. It will be checked for truncation and compared with itself. This is
test of a string that is longer than 80 characters. It will be checked for tr
ncation and compared with itself. This is a test of a string that is longer th
n 80 characters. It will be checked for truncation and compared with itself.
his is a test of a string that is longer than 80 characters. It will be checke
for truncation and compared with itself.|
ok 9
ok 10
ok 11
ok
t\08bind2...........1..3
Test 1: insert various test data, without having this test tell the driver th
type
that is being bound to a column. This tests the use of SQLDescribeParam to
obtain
the column type on the insert. This is experimental and will most likely
fail.
TYPE FOUND = 93
93 is not date!
TYPE FOUND = 93
93 is not date!
TYPE FOUND = 93
93 is not date!
ok 1
TYPE FOUND = 93
93 is not date!
TYPE FOUND = 93
93 is not date!
TYPE FOUND = 93
93 is not date!
ok 2
TYPE FOUND = 93
93 is not date!
TYPE FOUND = 93
93 is not date!
TYPE FOUND = 93
93 is not date!
ok 3
ok
t\09multi...........1..4
ok 1
93 is not date!
93 is not date!
93 is not date!
93 is not date!
93 is not date!
ok 2
ok 3
ok 4
ok
All tests successful.
Files=7, Tests=55, 3 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 CPU)
C:\Download\Perl\DBD-ODBC-0.45_5>
Jeff Urlwin wrote:
> Jim,
>
> What's really not encouraging is the fact that the type returned, normally
> an integer, is coming back as a decimal point. That's why there are errors
> in the tests and I'm sure that's why there are errors in the script coming
> back.
>
> My driver is has the following information:
> Driver: SQL Server
> Version: 2000.80.194.00
> Date: 8/6/2000
>
> I'm connecting to a plain vanilla install of SQL Server 2000.
>
> In my SYSTEM DSN configuration for my SQLSERVER, I have:
>
> Use Regional settings when outputting currency, numbers, dates and times:
> OFF <<<<<***
>
> BINGO! I tried turning this on and I get your results...
>
> I'm not sure what I can do about this but I can tell you it's causing it!
>
> I think if you turn this off (may not be an option for you, though), it will
> work correctly...???
>
> Regards,
>
> Jeff