protocol mismatch (Cache' ODBC)

925 views
Skip to first unread message

Jon Jacobs

unread,
Jul 29, 2013, 2:11:06 PM7/29/13
to intersystems...@googlegroups.com

I have a number of C# applications that do SQL queries on a particular Cache' database assciated with an expensive 3rd party system. They work fine on my Windows XP development machine. They work fine on our Windows 2003 server machine. Recently I installed the client for that system on one of our 64-bit Windows 2008 servers, so that I would have the ODBC driver avaliable for one of my applications. The install put in a 64-bit ODBC driver and (under SysWOW64) a 32-bit ODBC driver. I was able to log in to the client on that machine, so I believe the 32-bit driver is okay.

But when my application tries to connect to the Cache' database from that machine, I get this error: "protocol mismatch. only protocols >= 39 supported" Perhaps my 32-bit application is attempting to use the 64-bit ODBC driver, although that seems a bit far-fetched to me. What do I need to do to diagnose and/or fix this problem?
 
Thank you,
 
Jon Jacobs

David Bradford

unread,
Jul 31, 2013, 9:29:02 AM7/31/13
to intersystems...@googlegroups.com
I am also using C# to develop applications that talk with Cache via ODBC. I think I had this (same or similar protocol error message) happen sometime last year but sadly I don't remember what I did to correct the problem. Based on the level of detail about ODBC in your post I'm guessing you might already have tried this. But just in case, you might find clues by using the ODBC Data Source Administrator tool. It is in, on Win7 at least, Control Panel | Administrative Tools | Data Sources (ODBC). I believe you can tell which .DLL files (drivers) the ODBC client is configured to use by using the admin tool.

Best regards,
David Bradford



--
--
Caché, Ensemble, DeepSee
 
---
You received this message because you are subscribed to the Google Groups "Caché, Ensemble, DeepSee" group.
To unsubscribe from this group and stop receiving emails from it, send an email to intersystems-publi...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Jason Warner

unread,
Jul 31, 2013, 2:51:54 PM7/31/13
to intersystems...@googlegroups.com
How did you compile your c# application? Is it compiled specifically for
x86 or did you let it decide when run? If you didn't specifically
compile your application for x86, then the JIT will compile your
application for the 64-bit architecture of your processor and in turn
probably use the 64-bit ODBC driver. That would be the first place I
looked when using c# and Cache ODBC.

Jason
> --
> --
> Cach�, Ensemble, DeepSee
>
> ---
> You received this message because you are subscribed to the Google
> Groups "Cach�, Ensemble, DeepSee" group.

Jon Jacobs

unread,
Aug 2, 2013, 4:44:47 PM8/2/13
to intersystems...@googlegroups.com
>How did you compile your c# application? Is it compiled specifically for
>x86 or did you let it decide when run?
 
You nailed it! Thank you!
I changed the project property from Any CPU to x86 and now it works.
 
 
Jon Jacobs
Reply all
Reply to author
Forward
0 new messages