Link to home
Start Free TrialLog in
Avatar of cookmyster
cookmysterFlag for Canada

asked on

Coldfusion Access ODBC Error

Hi....

I am getting a  "Unable to Update the NT registry.   Variable driver path is undefined"  error when i try to create an odbc with an access database.

Any thoughts???

Rich
Avatar of _agx_
_agx_
Flag of United States of America image

I don't use Access much myself.  But have you tried using the Unicode driver instead? AFAIK it doesn't have that issue.

If you must use ODBC, this thread suggests it's a permissions problem, that can be solved by modifying the registry.  Since that can be dangerous if done incorrectly, I'd first try the other suggestion (see below)

http://forums.adobe.com/thread/142416
1. Open C:\Windows\SysWOW64\odbcad32.exe and create a System DSN using the Microsoft Access Driver (*.mdb).
2. Then open the ColdFusion Admin and create a datasource using the ODBC Socket driver.
3. Check the Trusted connection checkbox and it should work.
Umm... looks like the same link I posted ;-)
If you usde the Microsoft Acces with unicode, you will not face this issue!

Don't Try the ODBC Gate
Avatar of cookmyster

ASKER

Hello...

I don't have that option.. the microsoft access with unicode...  

All i have as a driver in the admin is microsoft access

Rich
@cookmyster

Unless you're using a very old version, the "Microsoft Access with Unicode" driver should be available in the ColdFusion Administrator. What version of CF are you using?

Also, did you try the other suggestion in my first response?
I am using Coldfusion 9 developer edition.

No i haven't tried it yet.  Was hoping for a solution that didn't involve me editing files.

Rich
Then you definitely have the "Microsoft Access with Unicode" option.  Just log into the CF Admin and select datasources.  "Microsoft Access with Unicode"  will be in the list of databases, right next to the "Microsoft Access" (ie ODBC datasource).
ASKER CERTIFIED SOLUTION
Avatar of _agx_
_agx_
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I am looking at my CF administrator and the driver dropdown... and there is no Microsoft Access with Unicode...   that is so weird...  do I need to install something else???

Rich
Stupid question, but are you sure you're looking in the right place? It should definitely be there in the default developer install.  What type of install did you select?
i am in the right place...   it goes...  Microsoft Access then Microsoft SQL,,,,   there is no microsoft acess with unicode...
Driver list from windows
CF9Drivers.PNG
this is what i see
coldfusion.png
I've never heard of that happening.  What type of install did you select and what O/S are you using?  

i did the 64 bit coldfuiosn developer edition on windows 2008 server...
I'm not sure about the 64bit version.  But AFAIK the unicode driver should be installed by default. Especially if you included the ODBC services in your install (which I assume you did)

If you look in the "{cf_root}\lib" directory, do you see a jar named izmado.jar ?

ie By default
C:\ColdFusion9\lib\izmado.jar
yes.. i have that file

Agx,

I think its somthing related to windows server 2008 64 bit

author

can u check your windows system dsn list.
do u find access with unicode driver.

moreover open C:\windows\system32\odbccad32.exe
u getting access with unicode driver dsn???
nope.. the only two drivers in there are Mysql and Microsoft SQL Server drivers


it was odbcad32.exe

and

http://robertoschiabel.wordpress.com/2008/02/28/windows-x64-32bit-odbc-vs-64bit-odbc/


this is windows dsn issue but i think its related to with this....

agx - ur comments ?

I know its not answer but can u try with the latest jet driver

http://support.microsoft.com/kb/239114

this version

4.0.9704.0
Did you select the ODBC services when you installed?

>> yes.. i have that file

Then you should be able to create a unicode datasource.  Unfortunatley, I don't know why it's not included in your driver list.  Not unless you omitted something from the install, or it's a 64-bit issue ...

IIRC, that driver is generated from the settings in the C:\dev\ColdFusion9\lib\neo-drivers.xml file. There are typically 2 entries for Access:  "MSAccess" and "MSAccessJet" (Unicode driver). If you do not see the unicode entry you could either

A) Try reinstalling CF completely OR
B) Try adding the unicode driver to the neo-drivers file manually.  If you do this, be sure to make a backup of it first, so if you make a mistake you can restore the backup.  Then restart CF to apply the changes.

FILE:  C:\dev\ColdFusion9\lib\neo-drivers.xml

ENTRY FOR REGULAR ACCESS DRIVER:  
<var name='MSAccess'><struct type='coldfusion.server.ConfigMap'><var name='host'><string>localhost</string></var><var name='port'><string>20000</string></var><var name='class'><string>macromedia.jdbc.MacromediaDriver</string></var><var name='name'><string>Microsoft Access</string></var><var name='handler'><string>msaccess.cfm</string></var><var name='url'><string>jdbc:sequelink:msaccess://[host]:[port];serverDatasource=[datasource]</string></var><var name='vendor'><string>DataDirect</string></var></struct></var>


ENTRY FOR UNICODE ACCESS DRIVER:  
<var name='MSAccessJet'><struct type='coldfusion.server.ConfigMap'><var name='port'><string></string></var><var name='class'><string>com.inzoom.jdbcado.Driver</string></var><var name='name'><string>Microsoft Access with Unicode</string></var><var name='handler'><string>msaccessjet.cfm</string></var><var name='url'><string>jdbc:izmado:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[databasefile];IzmJdbcEsc=yes;IzmReleaseOnClose= no</string></var><var name='vendor'><string> Macromedia</string></var></struct></var>

Open in new window

>> Was hoping for a solution that didn't involve me editing files.

... I understand.  Unfortunately, unless a full reinstall manages to magically fix things, I don't
    think that's an option here.
agx

it is not related with windows os...????
Brichsoft - It very well could be.  It's just the original error suggested a permissions related problem that needed to be fixed at the registry level. Unfortunately if it's 64-bit related, I'm not much help there.
>> the original error

... ie The ODBC registry error. The other issue (missing Unicode driver) is a CF problem.
So only reinstalling (maybe) or editing the CF configuration files can fix it.

ok...

y m feelig coz I install till cf 8 and there is no option like 2 select drivers...

until unless some one changed configuration file manually.
I'm not sure what you're asking .... On my plain vanilla install of CF8 and CF9 _both_ include the Access and Access with Unicode drivers.  I didn't do anything special.  I just selected all of the available services (ie ODBC, Solr, etc...)

But maybe we should wait for the asker to respond to the latest suggestions.

ya m saying that only.

anyways wait & watch
Ok.. I have already unistall and reinstalled...  and i don't leave anything out when I install it....

gr8.

so did u get it that?????
no.. that was a long conversation....  so what is my next step then

till agx comment on this,
can u download that latest jet engine drivers
i can't seem to see the link
>> no.. that was a long conversation....  so what is my next step then

So after you reinstalled

1) Do you still get the "Unable to Update the NT registry.." error when you try and create an ODBC datasource?

2) Is the unicode driver still missing from the driver list?
in the supporting operating systems... windows 2008 is not listed.. does that make a difference
yes.. after i reinstalled.... same thing.. still missing from the list...

no one is listening me . :(

its time for sleeping me..

good luck author...
>> supporting operating systems... windows 2008 is not listed.. does that make a difference

Well .. yes.  That usually means something is not officially supported. So it may or may not work. I'm not on windows 2008. So I couldn't say if it's supported or not.  

While I understand you'd rather not modify files manually, I don't have any other suggestions other than what I mentioned already:

1) Try the creating a system dsn using C:\Windows\SysWOW64\odbcad32.exe
2) Try adding the unicode settings to the C:\ColdFusion9\lib\neo-drivers.xml file



>> no one is listening me . :(

I think maybe there are too many responses going back and forth. So everyone is talking over each other.  And from some of the comments, I think the competing conversations may be confusing to the asker ...

 Since I don't use 2008, I'm going to step to the background. So the conversation is easier for you guys to follow.  

 
 
Mr agx
Dont go on my last post.ur suggestion is v imp.
Stay where u r.

Author
I have win2008 @ ofc.so i will try 2 simulate d issue,
Meanwhile its related with os,i thnk u need 2 take suggestion frm os expert.
I'm still monitoring the question. But I think it would be MUCH less confusing for the asker if there was only 1 voice - asking only 1 question at a time.  (There have been 45 responses on this thread already. That's too much back and forth! :)

I'd recommend trying 1 suggestion at a time. If it doesn't work, try the next one, and so on ..
Hey Guys.. sorry.. i haven't abandon the question.. just haven't had the chance to try it...

Dear Author,

does your problem resolve?
Please update on this...

- Bhavesh
Hi...  i tried downloading the driver that was suggest and still no luck fixing this problem.

Rich
Avatar of pradzk
pradzk

The technote for manually installing ODBC services on CF 8.0 has published. It includes zip files that include the necessary installation files, an updated datasource.cfc and updated scripts to install and uninstall the services.
Manual installation of the ODBC Services (ColdFusion 8.0)http://kb2.adobe.com/cps/402/kb402637.html

Kindly just go through the steps mentioned here
Thanks Pradnya.
Is the same process for version 9??

Rich
hey author
just accept the solution if it has worked for you

Thanks
No Solution has worked for me... and I it stills does not give me the option for Microsoft Access with unicode...  i am not sure what to do now...    i stopped using access and went to mysql cause of it...

I feel bad that so many people tried to help me with this solution.. with no results
Hi,
The guy may have given up but I don't have a choise, I've got to get this working...
I have: Win 7 64bit (fully updated), CF 9,0,1,274733  Developer  edition with SQL   I uninstalled and re installed cf9 a few times.  Each time installation was not smooth... cf9 seems to not much like 64bit.  The issues I faced with installation where addressed and eventually resolved in other posts (cf9 seem to works, except for the adding of access datasources) .

I understand the fact that there are two Odbcad32.exe, 1 for 32 and 1 for 64 bit...
And just like "author"... I don't have access unicode driver in my either 32 or 64 bit lists.

Now there are a few other anomalie in this area so I will list them:
SysWOW64 Odbcad32.exe:
The list of drivers seems to contain 2 or 3 times the same driver but only in different laguage.
Only the Sql and Squl native client 10 driver does not repeat.
The driver list does not contain the unicode one.
The list contains 3 time the word access so here they are (all with (*.mdb 6.01.7601.17514): -Driver do Ms Access -MS access Driver- and MS access- Treiber...

System32 one:
The list of drivers to contains only the 2 sql drivers... nothing else !?!.

Admin SystmeDNS :
The list of drivers contains only the 2 same sql drivers... nothing else !?! No access driver at all.

All this seems to indicate that a bunch of access drivers where installed in the 32bit envrioment but not in the 64bit side.

I have installed CF9 with odbc services.  I see 4 services.  2 are "started": CF9 ODBC agent and CF ODBC Server.  2 are not started but are set on automatic: CF MX ODBC agent and server. (I don't know if this is normal).

How do these drivers normally get installed, is it win7 install or should these drivers be installed by cf9?  

(PS I also tried  the solution of adding the line in cf9/lib/ neo-drivers.xml without any succes.)

Were should I go from here?
Thank you
hi cookmyster & dominique8,
- i'm referring to the "Unable to update the NT registry. Variable DRIVERPATH is undefined." error. i don't know if you have come across this post before:
http://www.cfexecute.com/post/access-dsns-in-64bit-coldfusion

- for future reference and in-case the link doesn't work, the solution is to:
1- add a system DSN using 32-bit ODBC Datasource manager in Windows which is at C:\windows\SysWOW64\odbcad32.exe. just use the normal "Microsoft Access Driver (*.mdb)" or "Microsoft Access Driver (*.mdb, *.accdb)" which one is applicable for your access.
2-  adding the DSN entry to ColdFusion data source. you will get the "Unable to update the NT registry. Variable DRIVERPATH is undefined." error but simply ignore it.
3- start use the data source as normal in your cf page.


Hi,
This solution was not working for me because, for some reason that I still don't understand, there was no microsoft access driver installed on my machine!?! (Only sql drivers would show up In either the 32 or the 64 bit system dsn odbc set up wisard)   I finally got that solution (your link) working (after countless hours!) after I found a downloadable driver package (32 AND 64 bit!) and installed it. (link: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d&displaylang=en )
Thank you
Dominique
- great it work for you dominique! hopefully this will work for cookmyster too
Correction on my previous message:  I still don't have the 64bit access drivers in the 64 bit system dsn odbc set up wisard.  The download packadge from the link in my previous post would not let me install the 64 bit version since I run 32 bit ms office... My CF is working fine with the 32 bit datasource and since I don't need the 64 bit version for now I have not persisted in "fixing" this.  
I still have no answer for this question...  so what should i do??