0

I'm importing a table from an .accdb file in Access 2016 into ArcMap 10.6 via an OLE DB connection and one of my nine text fields is importing in BLOB format. It and all the other fields are formatted as short text with a 255 character limit. The longest record in the problem field is ~ 100 characters. I thought ArcMap only used BLOB format for text if it was over 255 characters.

Below is a summary of the structure of the table in the Access database and how it is formatted in ArcMap after it is added by field type and number of fields:

Structure Table

Any suggestions for what I am missing and how I might get ArcMap to recognize this field as a string rather than a BLOB?

  • Only being assigned a BLOB datatype would cause this, in which case it would be the correct behavior. Please Edit the question to include a description of the datatypes in Access, the datatypes as accessed by OLE DB, and the datatypes of the target table. – Vince May 23 '18 at 23:52
  • I don't know of a way to manually assign data types with an OLE DB connection, however they are relatively new to me. It seems like the OLE DB provider (Microsoft Office 12.0 Access Database Engine OLE DB provider) does that automatically based on the format in access. – CameronBrinton May 24 '18 at 14:40
  • Indeed, the OLE DB provider is asserting a type which is not string, so the issue seems to be at the Access/OLE interface, not at OLE/ArcGIS. – Vince May 24 '18 at 15:27
1

After some experimentation I was able to uncover the problem. When I originally created the table and setup the OLE connection the problem field was formatted as long text. I had changed the format to short text in access when I realized that it was the wrong format. However, the change didn't register on the OLE Connection so it was still treating it as long text. Disconnecting the DB and reconnecting didn't refresh this. However, restarting the computer cleared whatever cache it was storing how to assign format fields with the OLE connection and it now is formatting it appropriately. I was able to replicate both the issue and the solution.

Sorry for wasting everyone's time with a problem that was solved by something that should have been done earlier in my troubleshooting process.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.