Skip to main content
Participant
November 18, 2011
Answered

CF8 and ODBC services

  • November 18, 2011
  • 1 reply
  • 1180 views

Not being aware that CF8 on a 64-bit system will not work with MS Access ODBC drivers (I've been away from CF for a couple of years) last week I created several MS Access ODBC connections on a W2008 R2 64-bit system. Cold Fusion was version 8, 32-bit. The connections worked fine and the .cfm pages displayed database content properly.

A week later, the database connectivity does not work anymore. The debugging page says source is not accessible, and the Data & Services -> Data Sources section in the CF administrative interface fails to verify the MS Access connections (other connection verify OK). All this to be expected, BTW, if the MS Access ODBC is not supposed to work on a 64-bit system.

The two CF ODBC services (ColdFusion 8 ODBC Agent and ColdFusion 8 ODBC Server) are stopped, and when I try to start them, I get the message "The ColdFusion 8 ODBC server service on local computer started and then stopped." (also to be expected as per previous exchanges).

So I have 2 questions about this:

- If this set up is not supposed to work, how come last week I was able to create the ODBC connections, they verified fine in the CF administrator, and the database content was served properly?

- The CF administrator lets me create an MS Access ODBC using the Microsoft Access with Unicode driver. I created a test ODBC and it verifies OK. What's the implications of using this driver instead? I mean, will the content of my database be treated differently, with strange character conversions or something?

Thank you for any input you may have.

This topic has been closed for replies.
Correct answer Dave Watts

Actually, I think you should be able to use a 32-bit version of CF with Access datasources on a 64-bit version of Windows. The problem occurs when you also use a 64-bit version of CF.

You may need to reinstall SequeLink (the ODBC Server and ODBC Agent services). There's a technote on how to do this on the Adobe site.

http://kb2.adobe.com/cps/191/tn_19135.html

There's another technote that describes a similar, but not identical, problem:

http://kb2.adobe.com/cps/402/kb402637.html

The Access with Unicode driver works well enough, in my somewhat limited experience. It uses a JET bridge instead of an ODBC bridge. There are some cases where the JET driver works better than the ODBC driver, and vice versa. I haven't run into any character rewriting with them, though.

All that said, I would strongly recommend that you start migrating from Access to ... almost anything else.

Dave Watts, CTO, Fig Leaf Software

1 reply

Dave WattsCommunity ExpertCorrect answer
Community Expert
November 21, 2011

Actually, I think you should be able to use a 32-bit version of CF with Access datasources on a 64-bit version of Windows. The problem occurs when you also use a 64-bit version of CF.

You may need to reinstall SequeLink (the ODBC Server and ODBC Agent services). There's a technote on how to do this on the Adobe site.

http://kb2.adobe.com/cps/191/tn_19135.html

There's another technote that describes a similar, but not identical, problem:

http://kb2.adobe.com/cps/402/kb402637.html

The Access with Unicode driver works well enough, in my somewhat limited experience. It uses a JET bridge instead of an ODBC bridge. There are some cases where the JET driver works better than the ODBC driver, and vice versa. I haven't run into any character rewriting with them, though.

All that said, I would strongly recommend that you start migrating from Access to ... almost anything else.

Dave Watts, CTO, Fig Leaf Software

Dave Watts, Eidolon LLC
rgpgAuthor
Participant
November 30, 2011

Dave,

Thank you for the links. The first link (for CF MX and higher) did

not work on my system (CF8 on W2008 R2), but the second link

(reinstalling CF8 ODBC services manually) did the trick. The services

are up and running again, and the databases are accessible.

Just for future reference, I'm listing all the possible solutions I

found on several threads, so that they are all mentioned in one place:

- Solution 1:

If CF was installed by double-clicking the installation file, this

may have not created a path to the 32-bit drivers. Installing CF by

right-clicking the installation file and selecting "Run as

Administrator" (even though you may be logged in already with an

administrator account) would ensure the installation process has all

the permissions required to create all paths.

This solution is explained in comment 7 of this thread:

http://forums.adobe.com/message/230023#230023

- Solution 2:

Tricking the CFIDE Administrator to create the necessary Registry key

entry. This solution (together with an alternative for W2003) is

explained at

http://www.coldfusionmuse.com/index.cfm/2010/12/31/Access.on.64bit.ColdFusion

- Solution 3:

Creating a registry entry for the 32-bit drivers. This solution is

explained in comment 6 of this thread:

http://forums.adobe.com/message/230023#230023

- Solution 4:

Installing the 64-bit ODBC Admin Tool from Microsoft. This solution

is explained at

http://jamiekrug.com/blog/index.cfm/2010/10/14/railo-access-dsn-64-bit-windows

- Solution 5:

There is a JDBC driver available that addresses the MS Access

connectivity issue and has been reported to work with CF8. They have

a trial version. Here's a link to that product: http://www.hxtt.com/access.html

- Solution 6:

Using the "MS Access with Unicode" drivers that CF has. This would

bypass the Windows ODBC, but further tests are needed to make sure

text is stored to and retrieved from the database(s) properly.

- Solution 7:

If the issue is with the CF ODBC services, reinstall the services

manually. The instructions for CF MX are at

http://kb2.adobe.com/cps/191/tn_19135.html and the instructions for

CF8 are at http://kb2.adobe.com/cps/402/kb402637.html .

- Solution 8:

Moving the database(s) to the free SQL Server Express, mySQL, or

PostgreSQL as they are completely compatible with CF.

Thanks again.