We did a clean 64-bit install of SQL Anywhere 10.0.1 EBF 4075. We were careful to un-check any option that would allow a 32-bit install. We absolutely need to use the 64-bit options.
The TEST button in the ODBC tab of the Windows ODBC configuration tool, ISQL and our application all work fine if we use the USER DSN.
Our problem is we have to deploy this first to the most shared machines in the company. We've always solved this problem by utilizing the SYSTEM DSN.
If we set up the SYSTEM DSN instead of the USER DSN, the TEST button in the ODBC tab of the Windows ODBC configuration tool works just fine. In ISQL, if we connect directly to the database without using the DSN, it connects fine. But if we try to use the DSN, if we click browse, it doesn't even show the System DSN we've set up, and checking "show all" doesn't help. But if we type the actual name of the DSN we've created, we can we get the error: "The specified DSN contains an architecture mismatch between the Driver and Application". And when we run our application, it just says there's an error but doesn't report the text of the error.
Have we done something to force ISQL and our application to use the 32-bit db administrator? Do we have a permissions problem? We're running out of ideas. How do we make this work?
Thank you for all your help, -carol
asked 27 Jul '10, 19:18
AFAIK Version 10 ISQL does not actually use ODBC to connect. If you specify a DSN, you are simply telling ISQL to get other connection parameters from the DSN.
Here are a couple of examples of ISQL connecting directly to a database (no DSN):
"%SQLANY10%\win32\dbisql.exe" -c "ENG=ddd10;DBN=ddd10;UID=dba;PWD=sql"
Save the ODBC troubleshooting for applications that need ODBC :)
answered 27 Jul '10, 20:49
Just a bit of the SA 12 docs w.r.t. ODBC System DSNs:
Since I don't use 64 bit so far, I can't tell more; particularly I can't tell what kind of DSN DBISQL will create. But I hope the docs give a starting point:)
answered 27 Jul '10, 20:22
You all rock - if it weren't for you, we never would have gotten this working. But I should share with you the very final solution.
In my question, I stated, "We were careful to un-check any option that would allow a 32-bit install. We absolutely need to use the 64-bit options." Thanks to all of the above explanations, we learned we had to go back and re-install and allow those options so we could get the 32 bit tools.
Then, once we were able to actually make the database run on the x64 machine, I discovered I could script this using dbdsn and it would work properly the first time every time.
So now when I create a database, I create a small batch file for the person who does the install that includes the following command:
I also have this run automatically on the machine if I extract the database directly onto the target machine (wish I could do that more often!).
Thank you all for your help. I hope this saves someone else from our headache some day!
answered 29 Nov '10, 22:55
In SA 10.0.1, only the server is 64-bit, the tools are still only 32-bit. So I would assume that you would be fine if you used the 32-bit ODBC administrator and created a System DSN with it.
answered 27 Jul '10, 19:27