ODBC : ISAM Error

Hello, When I try to read or write to Navision database server, I receive sometimes “ISAM Error”, after some minutes, All is good and I can do what I would. What is that?? Thx

Which version of navision do you use??? I use Attain 3.10a. I got the same error when try to use filter on date field. Its seems that date field filter not working in ODBC again. Because it was fixed in 2.6 version:(

I use 2.6E And I don’t have problem with date filter

Hi, Are you using CODBC with some other languages like VB etc.? or you are reading/writing in Navision itself. If you are using CODBC with some other language please check the data format, in CODBC if the date field have nothing system automatically accept the date with year 1820.

I am also facing ISAM error on win 2000 but it is working fine on win 98 with PWS. any idea , i am not able to run my site at all.

Hi. The ISAM error appeared in my projects several times. Those projects used C/ODBC 2.60F and ASP 3.0. Here’s what I’ve concluded: - The error appeared if I tried to insert a value, eg. a 30 char length text in a navision field with just 20 of size. - The decimals (working only in 2.60E or plus) must be inserted with the format xxx.xx . - The dates also need a special format (search the forum for this) - I installed a bunch of asp pages witch exchange data with navision I had in my computer in another computer and yesterday everything went OK. Today, the ISAM error appears 90% of the time. The computer is slightly less powerfull than mine. Perhaps that’s also a reason for this error to appear. Weird… I hope this helps…

I was having the same problems updating CODE fields with MDAC 2.1 and higher (specifically OLE DB 2.1 and higher). It would give me an ISAM error because the ADO provider was adding an extra space (past the maximum value) to the code fields I was using. In VB, I now call this method before calling an update of code fields in a recordset (SPECIAL SPECIAL SPECIAL THANKS TO SHAMAN - http://www.mbsonline.org/forum/topic.asp?TOPIC_ID=3496&SearchTerms=ISAM,error !!!): Private Sub FixADOCodeFields(rsRecordset As ADODB.Recordset) Dim fldField As ADODB.Field If Not (rsRecordset.BOF Or rsRecordset.EOF) Then If rsRecordset.EditMode <> adEditNone Then For Each fldField In rsRecordset.Fields If fldField.Type = adChar Then If fldField.Value <> Trim(fldField.Value) Then ' Only change when different If fldField.DefinedSize >= Len(Trim(fldField.Value)) + 1 Then ' Avoid overflows fldField.Value = Trim(fldField.Value) + Chr(0) End If End If End If Next End If End If End Sub 'Example: ' rsTest.fields("CodeTest").Value = "No More ISAM Errors!" ' FixADOCodeFields rsTest ' rsTest.Update 'WOOHOO!!