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 |
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:) Ok. Running the ODBC administrator in the WINDOWSSysWOW64 folder returns an error when I try to load the SQL Anywhere 10 driver: "could not load dbcon10.dll." I'll go hunt for that on the machine. Thanks. |
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! |
What about your applications? Are they 64 bit, too? (In that case, I would expect you would have to use different DSNs for the database tools - 32 bit, as Karim tells - and your apps.)