ODBC Driver 13 and ODBC Driver 11 - sql-server-2008

Can I install both ODBC Driver 13 and ODBC Driver 11 on the same server?
I need to access Microsoft SQL 2008 database and Microsoft SQL 2016 database. First one requires ODBC Driver 11. Second one requires ODBC Driver 13.
Would they be independently use by the system?
Update:
I have installed both drivers 11 and 13. I still can't work with my 2008 database.
Not sure if I need to restart? Did not restart as installation did not ask for it.

It appears you can simultaneously install ODBC 11 and 13|13.1 since the filenames are different and even Microsoft suggests you can change the connection string. (I do not have yet a server with SQL 2016 on testing environment. Therefore, I can not test it).
How to differentiate which application will use which?
To quote from the Microsoft's pages:
When an application uses the driver, the application should indicate
that it depends on the driver through the install option APPGUID.
Doing so enables the driver installer to report dependent applications
before uninstalling. To specify a dependency on the driver, set the
APPGUID command-line parameter to your product code when silently
installing the driver. (A product code must be created when using
Microsoft Installer to bundle your application setup program.) For
example:
msiexec /i msodbcsql.msi APPGUID={ <Your dependent application's APPGUID> }

Related

Mysql ODBC connector not available in stamps.com datasource

Today, we upgraded stamps.com software to version 17.5. This build requires that ODBC drivers be 64bit. I didn't think that was a problem. System is 64bit, and downloaded the latest MySQL ODBC 64Bit version 8.0.22. ODBC Data Source Administrator loads up, and I can access it. I create the datas ource (tested) but when I try to assign it via Stamps.com I get the error...
"Unable to connect to the selected data source. Check if you need to add a Username and Password"
Odd. Again, I can test connection via ODBC Data Source Administrator. It selects the proper database, etc. The driver is MySQL ODBC 8.0 ANSI Driver (Version 8.00.22.00).
If I try to "Create a new data source" via Stamps.com. Click 'Other/Advanced (SQL,etc)' and click 'Add', I do not see any MySQL drivers anywhere the options.
I've completely uninstalled re-installed 8.0.22 multiple times.
ADDITIONAL INFO
If I don't try to create a new DSN through Stamps.com but rather select an existing one, but click 'configure'. I get the following errors.
"The setup routines for the MySQL ODBC 8.0 ANSI Driver ODBC driver could not be found. Please reinstall the driver."
Followed by..
"---------------------------
Driver's ConfigDSN, ConfigDriver, or ConfigTranslator failed
---------------------------
Errors Found:
The specified DSN contains an architecture mismatch between the Driver and Application"
So it seems like the MySQL ODBC driver is still 32 bit? I clearly installed 64 bit, and the system is 64 bit, so not sure. It's possible the original ODBC driver was 32 bit from a year ago, but like I mentioned, I have removed those .dll via uninstall.
ADDITIONAL INFO 2
I'm wondering if I'm chasing the wrong 32 bit application. Under ODBC Data Source Administrator, in the About tab,
For About the ODBC core components..
Administrator C:\Windows\system32\odbccp32.dll
Control Panel Startup C:\Windows\system32\odbcad32.exe
Cursor Library C:\Windows\system32\odbccr32.dll
Driver Manager C:\Windows\system32\odbc32.dll
Localized Resource DLL C:\Windows\system32\odbcint.dll
Unicode Cursor Library C:\Windows\system32\odbccu32.dll
So it looks like the 'core' for ODBC is 32 bit? Looking into how to update these for 64bit. Hmmm... based on my initial research, those .dll/.exe are 64bit since they're in system32 and not in sysWOW64. Seems counter intuitive?
Any suggestions?
After contacting support, they informed me that ODBC is not supported with 17.5. So not sure - why I needed to upgrade to 64bit, and why it states that my ODBC drivers need to be 64bit, since it's not compatible.
Here is what needs to be done. Download Stamps clean tool:
https://support.stamps.com/outgoing/clean.exe
Then run key tool to remove any registry values:
https://support.stamps.com/outgoing/key.exe
Then finally, you need to install version 17.4
http://support.stamps.com/outgoing/stamps174.exe
Roll back to the 32bit ODBC drivers.
After this fiasco, we've implemented better protocols. Basically secondary machine with Stamps.com running on it and will test future updates there before rolling out to our primary production machine.
We are in the same boat.... after updating to the Stamps.com version 17.5 we have been unable to get our ODBC MySQL server connection working.
We have tried all combinations of older vs new 64 bit MySQL drivers. We have tried installing the 32-bit version of Stamps 17.5. It actually allows us to configure the connection and select the correct tables and columns we want, but when we trigger a lookup we get an error saying 64bit drivers are required.
Same error on 32-bit Stamps.com vs 64-bit Stamps.com.
We are contacting stamps.com support now and I will update this when/if we find anything additional.
Is there a solution then for this? We were actually using for the past 12 years the old ActiveX solution - but you HAD to use MS-Explorer. So we were exploring using stamps.com ORDERS solution with MySQL ODBC. Tried both the 32-bit stamps.com app (with the 32bit ODBC drivers), and the 64-bit stamps.com (with the 64bit ODBC drivers). The 32-bit at least allow you to complete the field mapping - which tells me it was connected to the database to be able to read the schema. But when you go to actually IMPORT anything, you get the "...you'll need to install the latest 64-bit ODBC drivers..." which I have already tried.
If you download and use the 17.4 version (as suggested above), what happens when you MUST upgrade stamps.com (which does happen about once every 2 years when the USPS changes some fundamental stuff).
Any solutions anyone? We really want off our ActiveX/PDK (12 year old) solution.
Just ran into the same issue this week, albeit with the MS SQL drivers. Doesn't matter whether I install the 64bit or 32bit Stamps.com software (when the site will download the 32bit version at all... it doesn't for me at the moment, only 64bit). Either way, I get the message saying I need to install the 64bit ODBC drivers. And clicking "More info" just takes me to the home Help page, not to a related article. The article detailing 64bit ODBC is pretty useless since it just says you need to install the drivers, but you can view it here: https://stamps.custhelp.com/app/answers/detail/a_id/7244/kw/64-bit%20ODBC/related/1
I called support, and they said it's a known issue but that there's no workaround currently.
UPDATE 2/17/2021
I just talked to Tier 2 support, and there's a new version out the resolves the ODBC error. The download page still says 17.7, but it's actually 17.7.1. Installing it resolved the error for me and I am now able to import orders via ODBC. (I installed the 32-bit version at the recommendation of the support tech I spoke with, I have not tried with the 64-bit version.)
Also, the 32-bit download is working again.

Classic ASP + Access DB not working on Windows Server 2012

I tried to migrate my Classic ASP application with its Access DB from Windows 7 Professional to Windows Server 2012.
For standard script without accessing access db, it's working fine.
But I got error when the script use access db, by the following:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no
default driver specified /includes/public.asp, line 64
Here is my connection string
strConn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("../private/apps.MDB")
In application pool, I've set
.NET Framework Version = No Managed Code
Enable32Bit Application = True
ManagedPipelineMode = Classic
What am I doing wrong?
The "Microsoft Access Driver" is the desktop driver installed when Office Access or the Office Access Redistributable is installed, it is not intended for use in server-side applications. The current Access driver is also known as ACE (Access Connectivity Engine) and replaces the JET engine for single-user desktop applications only.
Instead, please use the JET 4.0 OLEDB or ODBC driver (ODBC is preferred). This driver is included in MDAC which comes with Windows Server out-of-the-box. The connection string template is this:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\somepath\myDb.mdb;
OR
Provider=Microsoft.Jet.ODBC.4.0;Data Source=c:\somepath\myDb.mdb;
Note that the JET 4.0 driver is only available in 32-bit mode (but you've already set your application-pool to 32-bit so this won't be an issue).
Note that JET is effectively obsolete at this point (its successor, ACE, is only intended for use in single-user desktop applications) as evidenced by its availability only in 32-bit versions. Server-side and multi-user applications should use SQL Server (SQL Server now supports "LocalDb"-mode which introduces a simpler working experience, similar to Access, and it's available in Express Edition). If you absolutely need something simple and low-resource I would suggest SQLite, however you will be responsible for using the SQLite API correctly in a multithreaded/concurrent environment like a webserver (including Classic ASP).
Update:
I'll revise my answer to warn that using LocalDb with ASP.NET, or server applications in general, is inadvisable - and of little point, actually - if you're using LocalDb then you already have SQL Server installed, and if you already have SQL Server installed then you might as well use it in "normal mode" rather than LocalDb mode.

Using the correct mySQL ODBC driver in windows

I am trying to connect MS Access with a local mySQL database.
To do this I downloaded the mySQL ODBC connector from the mySQL website and installed it. As I am on a 64-bit system I went for the 64-bit version.
I then discovered when trying to connect Access to mySQL that my installation of Office is actually 32-bit so the driver doesn't work. So I removed the 64-bit ODBC driver and installed the 32-bit one.
Problem is, when I go into control-panel -> Administrative Tools -> Data Sources (ODBC) and try to add a new data source, the only options for the mySQL drivers seem to point to the old directory where the 64-bit drivers were. It then fails as it can't find the dlls with system error 126.
How do I get it to show the 32-bit drivers?
Run the 32-bit manager by running this command:
c:\windows\syswow64\odbcad32.exe
Also you can use RegisterDatabase() function to create connection from your code.
I wrote wrapper function many years ago:
http://5codelines.net/kak-programmno-sozdat-odbc-dsn/.
Just skip russian language and use the code.
Prior to installing the ODBC MySQL driver 5.2.6 you need to install the Microsoft Visual C++ 2010 Redistributable Package for x64 or x86 or both (just search the Microsoft site for these and download from there). Other driver versions may require different versions of this MS VC++ Redist. Package, which can coexist side by side. By default server 2008 R2 comes with the 2008 version, so installing the 2010 is required. Before installing check in Programs and Features if not already installed. Depending on you application it may require the 32 bit or the 64 bit version. Without it you get the system error 126
Then install the drivers:
To install the 32 bit version run as administrator c:\windows\syswow64\odbcad32.exe which is the 32 bit version of "Data Sources (ODBC)"

Portable ODBC connection driver

Is there any availability to make MySQL ODBC connection driver portable? I develop an application which uses MySQL ODBC ocnnection driver with TADOConnection and everything is working properly on developer's machine, there ODBC connection driver is installed. When I run this application on another machine (no ODBC driver installed) an error raises. Is there any opportunity to include necessary libs to program and make the project independent?
You can bundle the MySQL ODBC driver with your installer (http://dev.mysql.com/doc/refman/5.1/en/connector-odbc-installation-binary-windows.html), but remember that if you're using the free GPL connector you're bound to the GPL, thereby or you release your application (and code) under the GPL as well, or you're violating the MySQL GPL license. To avoid it, you can always buy a commercial license.
ODBC needs a driver since it is an API abstraction over existing database access libraries - see How to explain why ODBC requires a database driver
Since there is no standard way of installing a database driver, you'll have to rely on the driver instructions, which are specific.
For MySQL, if you launch setup -r it would install the ODBC provider silently.
The follow these steps to add your database connection: create mysql odbc connection through batch script

Database error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

I am running SMS Enabler software in a Windows 7 environment. When a message received, the database is not updating and gives the error.
Database error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
I also added the required field in Control Panel\All Control Panel Items\Administrative Tools > Data Sources (ODBC) > User DSN
I am using MySQL.
OK.... If test connection succeeds and your app fails then it is probably one of those awkward environment issues..
Things to check -
Have you creates a System DSN or User DSN?
If your application is running as a System Service then it will only able to read System DSNs (not User DSNs)
Was the Driver installed for all users or just the installation user?
I have seen instances where this has affected some drivers...
Use Process Monitor (an excellent tool for tracking down issues like this)
If you haven't used Process Monitor - think of it as a sniffer for; file accesses, registry accesses and network access...
That is - you will be able to determine whether there are any files or registry accesses that are failing or being blocked.
To use SMS Enabler with MySQL you should install MySQL Connector/ODBC 5.1 32-bit. You should install 32-bit version of this connector even if you are on 64 bit Windows. This is because SMS Enabler is a 32-bit software.
Wondering again whether this is a 32/64bit issue?
There are two ODBC administrators on 64bit machines...
c:\Windows\system32\odbcad32.exe === 64bit === Also through Control Panel
c:\Windows\SysWOW64\odbcad32.exe === 32bit
If your application is 32bit then you need a 32bit ODBC Driver and have to create a 32bit ODBC data source.
If your application is 64bit then, similarly, you need a 64bit ODBC Driver and have to create a 64bit ODBC data source.
I am wondering whether your application is 32bit and hence cannot find the 64bit ODBC data source you have created...
(NOTE: all of this is only applicable on 64bit Windows OSs...)