-
ODBC error returns error, but sql is fine
When I run some code through an odbc driver onto a SQL server 6.5 database, from vb an error is being returned along the lines of
22005 Syntax error converting 'string' to INT4
if I copy this code, either from vb or from sql trace, and run it in isql the code runs without any errors.
The only thing I have found is about NULLs so I have removed these from the code that is passed through?
Any more suggestions?
-
ODBC error returns error, but sql is fine (reply)
Juergen
I tried adding sqlpassthrough option in vb code but still to no avail. The code is being run from vb 5 using the 2.65 odbc driver(have tried a newer one, but problem still exists) using rdo resultsets. The full sql code is below, all the '~' values are where we changed all the nulls. At the bottom is also the odbc log (not that I understand it), all the receiving fields are the correct data types.
set ansi_nulls off
set ansi_padding off
set ansi_warnings off
Declare @iError int
EXEC @iError=UP_MntInvalidAccident_01 'A008199', '62',2000, '6', ' ', '~', ' ', '742', '0', '20000606 18:25:00', '0000', '30982', '19626', '~', '00', '1', ' 5', ' 4', '0', '0', '~', '1', 11, '2', '6', '~', '0', ' 30', '1', '~', 1999,200041, 243145, 1
IF @iError <> 0
BEGIN
GOTO ERROR_HANDLING
END
EXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '001', 2000, '1', '33', '2', '~', '1 ', '0', ' 0', ' 0', '0', '13', ' 2', '1', '~', '~', 21, '1', '0', '0', ' 9', '0', '~', '4', '0', '~', '2', '6', 200041, 243145, 1
IF @iError <> 0
BEGIN
GOTO ERROR_HANDLING
END
EXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '002', 2000, '1', '60', '2', '~', '1 ', '0', ' 0', ' 0', '0', '18', ' 3', '1', '~', '~', 21, '1', '0', '0', ' 9', '0', '~', '4', '0', '~', '6', '2', 200041, 243145, 1
IF @iError <> 0
BEGIN
GOTO ERROR_HANDLING
END
EXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '003', 2000, '2', '47', '3', '~', '1 ', '0', ' 0', ' 0', '0', ' 2', ' 2', '2', '~', '~', 21, '1', '0', '0', ' 9', '0', '~', '4', '0', '~', '0', '2', 200041, 243145, 1
IF @iError <> 0
BEGIN
GOTO ERROR_HANDLING
END
EXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '004', 2000, '1', '44', '3', '~', '1 ', '0', ' 0', ' 0', '0', ' 2', ' 2', '1', '~', '~', 21, '2', '0', '0', ' 9', '0', '~', '4', '0', '~', '0', '6', 200041, 243145, 1
IF @iError <> 0
BEGIN
GOTO ERROR_HANDLING
END
EXEC @iError=UP_MntInvalidCasualty_01 'A008199', '62', '001', '001', 2000, '33', '0', '0', '1', '1 ', '~', '~', ' 0', '0', 31, '0', '3', '1', 200041, 243145, 1
IF @iError <> 0
BEGIN
GOTO ERROR_HANDLING
END
EXEC @iError=UP_MntInvalidCasualty_01 'A008199', '62', '001', '003', 2000, '33', '0', '0', '2', '1 ', '~', '~', ' 0', '0', 31, '0', '3', '2', 200041, 243145, 1
IF @iError <> 0
BEGIN
GOTO ERROR_HANDLING
END
EXEC @iError=UP_MntInvalidCasualty_01 'A008199', '62', '001', '004', 2000, '11', '0', '0', '2', '1 ', '~', '~', ' 0', '0', 31, '0', '3', '2', 200041, 243145, 1
IF @iError <> 0
BEGIN
GOTO ERROR_HANDLING
END
EXEC @iError=UP_MntInvalidCasualty_01 'A008199', '62', '001', '005', 2000, '07', '0', '0', '2', '1 ', '~', '~', ' 0', '0', 31, '0', '3', '1', 200041, 243145, 1
IF @iError <> 0
BEGIN
GOTO ERROR_HANDLING
END
EXEC @iError=UP_MntInvalidCasualty_01 'A008199', '62', '002', '002', 2000, '60', '0', '0', '1', '1 ', '~', '~', ' 0', '0', 31, '0', '3', '1', 200041, 243145, 1
IF @iError <> 0
BEGIN
GOTO ERROR_HANDLING
END
EXEC @iError=UP_MntConvertAccidentCase_01 'A008199', '62',2000, 200041, 243145, 1
IF @iError <> 0
BEGIN
GOTO ERROR_HANDLING
END
ERROR_HANDLING:
Select Error=@iError
ODBC LOG:
VB5 87:3f ENTER SQLExecDirect
HSTMT 0x084f4320
UCHAR * 0x01b85c3c [ -3] "set ansi_nulls off dset ansi_padding off dset ansi_warnings off dDeclare @iError int d dEXEC @iError=UP_MntInvalidAccident_01 'A008199', '62',2000, '6', ' ', '~', ' ', '742', '0', '20000606 18:25:00', '0000', '30982', '19626', '~', '00', '1', ' 5', ' 4', '0', '0', '~', '1', 11, '2', '6', '~', '0', ' 30', '1', '~', 1999,200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '001', 2000, '1', '33', '2', '~', '1 ', '0', ' 0', ' 0', '0', '13', ' 2', '1', '~', '~', 21, '1', '0', '0', ' 9', '0', '~', '4', '0', '~', '2', '6', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '002', 2000, '1', '60', '2', '~', '1 ', '0', ' 0', ' 0', '0', '18', ' 3', '1', '~', '~', 21, '1', '0', '0', ' 9', '0', '~', '4', '0', '~', '6', '2', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '003', 2000, '2', '47', '3', '~', '1 ', '0', ' 0', ' 0', '0', ' 2', ' 2', '2', '~', '~', 21, '1', '0', '0', ' 9', '0', '~', '4', '0', '~', '0', '2', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '004', 2000, '1', '44', '3', '~', '1 ', '0', ' 0', ' 0', '0', ' 2', ' 2', '1', '~', '~', 21, '2', '0', '0', ' 9', '0', '~', '4', '0', '~', '0', '6', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidCasualty_01 'A008199', '62', '001', '001', 2000, '33', '0', '0', '1', '1 ', '~', '~', ' 0', '0', 31, '0', '3', '1', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidCasualty_01 'A008199', '62', '001', '003', 2000, '33', '0', '0', '2', '1 ', '~', '~', ' 0', '0', 31, '0', '3', '2', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d...VB5 SDWORD -3
VB5 87:3f ENTER SQLExecDirect
HSTMT 0x084f4320
UCHAR * 0x03fd30f0 [ 2735] "set ansi_nulls off dset ansi_padding off dset ansi_warnings off dDeclare @iError int d dEXEC @iError=UP_MntInvalidAccident_01 'A008199', '62',2000, '6', ' ', '~', ' ', '742', '0', '20000606 18:25:00', '0000', '30982', '19626', '~', '00', '1', ' 5', ' 4', '0', '0', '~', '1', 11, '2', '6', '~', '0', ' 30', '1', '~', 1999,200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '001', 2000, '1', '33', '2', '~', '1 ', '0', ' 0', ' 0', '0', '13', ' 2', '1', '~', '~', 21, '1', '0', '0', ' 9', '0', '~', '4', '0', '~', '2', '6', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '002', 2000, '1', '60', '2', '~', '1 ', '0', ' 0', ' 0', '0', '18', ' 3', '1', '~', '~', 21, '1', '0', '0', ' 9', '0', '~', '4', '0', '~', '6', '2', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '003', 2000, '2', '47', '3', '~', '1 ', '0', ' 0', ' 0', '0', ' 2', ' 2', '2', '~', '~', 21, '1', '0', '0', ' 9', '0', '~', '4', '0', '~', '0', '2', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '004', 2000, '1', '44', '3', '~', '1 ', '0', ' 0', ' 0', '0', ' 2', ' 2', '1', '~', '~', 21, '2', '0', '0', ' 9', '0', '~', '4', '0', '~', '0', '6', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidCasualty_01 'A008199', '62', '001', '001', 2000, '33', '0', '0', '1', '1 ', '~', '~', ' 0', '0', 31, '0', '3', '1', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidCasualty_01 'A008199', '62', '001', '003', 2000, '33', '0', '0', '2', '1 ', '~', '~', ' 0', '0', 31, '0', '3', '2', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d...VB5 SDWORD 2735
VB5 87:3f EXIT SQLExecDirect with return code -1 (SQL_ERROR)
HSTMT 0x084f4320
UCHAR * 0x03fd30f0 [ 2735] "set ansi_nulls off dset ansi_padding off dset ansi_warnings off dDeclare @iError int d dEXEC @iError=UP_MntInvalidAccident_01 'A008199', '62',2000, '6', ' ', '~', ' ', '742', '0', '20000606 18:25:00', '0000', '30982', '19626', '~', '00', '1', ' 5', ' 4', '0', '0', '~', '1', 11, '2', '6', '~', '0', ' 30', '1', '~', 1999,200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '001', 2000, '1', '33', '2', '~', '1 ', '0', ' 0', ' 0', '0', '13', ' 2', '1', '~', '~', 21, '1', '0', '0', ' 9', '0', '~', '4', '0', '~', '2', '6', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '002', 2000, '1', '60', '2', '~', '1 ', '0', ' 0', ' 0', '0', '18', ' 3', '1', '~', '~', 21, '1', '0', '0', ' 9', '0', '~', '4', '0', '~', '6', '2', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '003', 2000, '2', '47', '3', '~', '1 ', '0', ' 0', ' 0', '0', ' 2', ' 2', '2', '~', '~', 21, '1', '0', '0', ' 9', '0', '~', '4', '0', '~', '0', '2', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '004', 2000, '1', '44', '3', '~', '1 ', '0', ' 0', ' 0', '0', ' 2', ' 2', '1', '~', '~', 21, '2', '0', '0', ' 9', '0', '~', '4', '0', '~', '0', '6', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidCasualty_01 'A008199', '62', '001', '001', 2000, '33', '0', '0', '1', '1 ', '~', '~', ' 0', '0', 31, '0', '3', '1', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidCasualty_01 'A008199', '62', '001', '003', 2000, '33', '0', '0', '2', '1 ', '~', '~', ' 0', '0', 31, '0', '3', '2', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d...VB5 SDWORD 2735
DIAG [22005] [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting CHAR value 'A008199' to an INT4 field (249)
VB5 87:3f EXIT SQLExecDirect with return code -1 (SQL_ERROR)
HSTMT 0x084f4320
UCHAR * 0x01b85c3c [ -3] "set ansi_nulls off dset ansi_padding off dset ansi_warnings off dDeclare @iError int d dEXEC @iError=UP_MntInvalidAccident_01 'A008199', '62',2000, '6', ' ', '~', ' ', '742', '0', '20000606 18:25:00', '0000', '30982', '19626', '~', '00', '1', ' 5', ' 4', '0', '0', '~', '1', 11, '2', '6', '~', '0', ' 30', '1', '~', 1999,200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '001', 2000, '1', '33', '2', '~', '1 ', '0', ' 0', ' 0', '0', '13', ' 2', '1', '~', '~', 21, '1', '0', '0', ' 9', '0', '~', '4', '0', '~', '2', '6', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '002', 2000, '1', '60', '2', '~', '1 ', '0', ' 0', ' 0', '0', '18', ' 3', '1', '~', '~', 21, '1', '0', '0', ' 9', '0', '~', '4', '0', '~', '6', '2', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '003', 2000, '2', '47', '3', '~', '1 ', '0', ' 0', ' 0', '0', ' 2', ' 2', '2', '~', '~', 21, '1', '0', '0', ' 9', '0', '~', '4', '0', '~', '0', '2', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidVehicle_01 'A008199', '62', '004', 2000, '1', '44', '3', '~', '1 ', '0', ' 0', ' 0', '0', ' 2', ' 2', '1', '~', '~', 21, '2', '0', '0', ' 9', '0', '~', '4', '0', '~', '0', '6', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidCasualty_01 'A008199', '62', '001', '001', 2000, '33', '0', '0', '1', '1 ', '~', '~', ' 0', '0', 31, '0', '3', '1', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d GOTO ERROR_HANDLING dEND dEXEC @iError=UP_MntInvalidCasualty_01 'A008199', '62', '001', '003', 2000, '33', '0', '0', '2', '1 ', '~', '~', ' 0', '0', 31, '0', '3', '2', 200041, 243144, 1 dIF @iError <> 0 dBEGIN d...VB5 SDWORD -3
DIAG [22005] [Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting CHAR value 'A008199' to an INT4 field (249)
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
|