Microsoft OLE DB Provider for ODBC Drivers error '80004005' when adding new site to IIS 7 when driver works for another site? - iis-7

I have a site that works as it should with my domain name(lets say it is https://mydoman1.se), and now I want to change the domainname to a new one (https://mydomain2.se) but still have https://mydoman1.se and redirect that to https://mydoman2.se.
So I added a new site(https://mydomain2.se) in the IIS and copied all the setting for the new site from the old site(https://mydomain1.se)
They are both pointing and using the same index.asp page.
I use this Connection:
ConnString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER='localhost';Port=3306; DATABASE='db_name'; " &_
"UID='uname';PASSWORD='pwd'; OPTION=3;"
If I load https://mydomain1.se it works as it should, but if I load https://mydomain2.se then I get an error that it can´t find the Connection ?
Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Driver Manager]
Data source name not found and no default driver specified
I also added a system DSN and when testing it, it connects as it should. So why doesn´t it found it when I know I added it?
I don´t understand why https://mydomain1.se is working and not the new one, they both use the same index file and Connection?
What Im I missing? Does it have anything to do with 32 and 64 system?
Any input really appreciated, thanks.

The problem that solved it was setting "Activate 32 bits programs" in the application pool in the IIS so it found the DSN.

One of our clients has faced the same issue. I have set the Enable 32 bit application to true and that has fixed his issue for the given error.

Related

Trouble Connecting to DB2 Database with R error 1114

I've been trying to connect RStudio to a DB2 database and have been receiving the following error
rror: nanodbc/nanodbc.cpp:950: IM003: Specified driver could not be loaded due to system error 1114:
A dynamic link library (DLL) initialization routine failed.
(IBM DB2 ODBC DRIVER - DB2COPY1, C:\PROGRA~1\IBM\SQLLIB\BIN\DB2CLIO.DLL).
I've been using this code
connection<-DBI::dbConnect(odbc::odbc(),Driver="IBM DB2 ODBC DRIVER - DB2COPY1",
Server = "NRDCWIP6",uid="nxxx",pwd="Wxxx")
which has been working well for a different database (SQL server). I'm working in Windows 10 and don't have a lot of information about the database itself since it's managed by an IT group that's quite busy. I'm still quite new to connecting R to databases as well. I do know that the platform for the DSN is 32-bit, but when I look under the User DSN tab, it is listed as 32/64 bit.
I know 1114 is a rather well known error, but I'm not sure where the problem is and I've tried numerous variations of this code. Anything will help!
Here may be the answer for this situation:
Specified driver could not be loaded due to system error 1114
https://www.ibm.com/support/pages/specified-driver-could-not-be-loaded-due-system-error-1114
Here is the key note from above:
Resolving The Problem
Launch the odbcad32.exe from the Windows/SysWOW64/ folder and ensure that you have the current driver for the database version you are connecting to, specified in the Data Source that is being used in the map
Hope this helps.

Microsoft Access connection to MYOB ODBC developer mode

I am running 32-bit Microsoft Access on Windows 8.1 and MYOB Premier 19.10
Have no problem setting up a 32 bit DSN and accessing MYOB in read only mode from Access.
Have installed developer key and have tested connection using TestConnection from MYOB. Test OK
When I now try to link to a MYOB table, I get a ODBC call failed - Cannot launch MYOB #20066 error. Have tried changing MYOB and Access to XP compatibility mode - still the same.
I also get the same error running on a Windows 7 machine.
Can someone please help.
gary
I am not familiar with Access, but if you are going to use a DSN to write to MYOB ODBC tables your connection string must look something like "DSN=YourMyobDsnName;ACCESS_TYPE=READ_WRITE". If Access does not allow you to add parameters to the connection string it's probably not going to work.
Another way connect to the company file is to use an ADO connection string. It would look something like "Driver={MYOAU1001};TYPE=MYOB;UID=Administrator; PWD=MyPassword;DATABASE=C:\PathToYourCompanyFile\CompanyFile.myo; HOST_EXE_PATH=C:\PathToTheMyobExecutable\MYOBP.exe;
ACCESS_TYPE=READ_WRITE;DRIVER_COMPLETION=DRIVER_NOPROMPT;KEY=AAAA...DDDD". Your paths and credentials will of course differ, as may the version of MYOB ODBC you are using. 10.01 is the most recent version in AU.
Following your comments I looked into it and now understand this capability is not available in Access. A common approach is to create a small executable that exchanges information between MYOB v19 ledgers and whatever it is you need to integrate with. Again, I am not an expert but it seems to me that you could use VBA in Access to accomplish this. VBA can use the ADO libraries.
I had to disable UAC on Windows 10 to get MYOB to launch via ODBC:
https://superuser.com/questions/83677/disabling-uac-on-windows-7

Getting Error 800a0e7a "Provider cannot be found. It may not be properly installed."

So I am going back to a project I created in College, so I can transfer it to PHP. I orginally coded it in ASP Classic.
I am on Windows 8 and running Access 2013.
I am currently getting the following error
ADODB.Connection error '800a0e7a'
Provider cannot be found. It may not be properly installed.
/PROJECT!Better/verifyuser.asp, line 11
and this is my connection string code.
Dim vPath, pPath, Conn
vPath = ".\db\Comic.accdb"
pPath = Server.MapPath( vPath )
objConn = "PROVIDER=Microsoft.ACE.OLEDB.12.0;DATA SOURCE=" & pPath & ";"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open objConn
any help that you can provide would be awesome!
edit: I already have the enable 32-bit applications in IIS Activated
Check the site's Application Pool in IIS / Application Pools / YourPool / Advanced Settings :
Advanced / Enable 32-Bit Applications: True
There's some anecdotal evidence to suggest you do this too:
Managed Pipeline Mode : Classic
You should use the provider available in your machine.
Goto Control Panel
Goto Administrator Tools
Goto Data Sources (ODBC)
Click the "Drivers" tab.
Do you see something called "SQL Server Native Client"?
See the attached screen shot. Here my provider will be SQLNCLI11.0
I got the same issue and It got solved by installing Oracle 11g client in my machine..
I have not installed any excclusive drivers for it. I am using windows7 with 64 bit. Interestignly, when I navigate into the path Start > Settings > Control Panel > Administrative Tools > DataSources(ODBC) > Drivers. I found only SQL server in it
A couple of suggestions
The ACE driver isn't installed by default. It's also a 64 bit driver, so it might be worth disabling 32bit in your app pool. I've known 64 bit drivers not work when 32 bit is enabled.(eg the ISAPI filter which connects IIS to Tomcat).
The older JET driver is 32bit. It is included by default. If you could save a copy of your database as a .mdb file then using the JET driver might be a workaround
Have you got the driver installed? If you go into Start > Settings > Control Panel > Administrative Tools and click the Data Sources, then select the Drivers tab your driver info should be registered there.
Failing that it may be easier to simply set up a DSN connection to test with.
You can define multiple connection strings of course and set-up a 'mode' for working on different machines.
Also there's ConnectionStrings.com.
-- EDIT --
Just to further this, I found this thread on another site.
Following steps has fixed my issue.
(1) Moved the website to a Dedicated application pool.
(2) Changed the Managed Pipeline Mode from integrated to Classic.
(3) Set Enable 32-Bit Applications from false to true.
ASP pages are working fine now!
Got this exception when maintaining very old application on Server 2003 using Asp classic on IIS6 with
Oracle 9.2.0.1.
The fix is by updating oracle to 9.2.0.6.
Under Window Administrative Tools, run ODBC Data Sources (32-bit).
Under the Drivers tab, check you have the Microsoft Excel Driver (*.xls, *.xlsx etc...) - the file name is ACEODBC.DLL
If this is missing, you will need to install the Microsoft Access Database Engine 2016 Redistributable.
You'll find the installer here https://www.microsoft.com/en-us/download/details.aspx?id=54920
Your connection should be:
Set objConn1 = Server.CreateObject("ADODB.Connection")
objConn1.Provider = "Microsoft.ACE.OLEDB.12.0"
objConn1.ConnectionString = "Data Source=" & pPath & ";Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"""
install this https://www.microsoft.com/en-us/download/details.aspx?id=13255
install the 32 bit version no matter whether you are 64 bit and enable the 32 bit apps in the application pool

Data source name not found and no default driver specified

I am getting this error when I try to insert record in db.
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
my connection is :
Application("Db_ConnectionString")= "DSN=dsnname;UID=xxx;PWD=xxx;"
please help me asap.
thanks in advance.
thanks for your answers.
I myself fixed the error. Assigned wrong dsn name in my code.
I changed it and now its working fine
I got this error on Windows Server 2012 when migrating a legacy ASP app - I had to enabled 32-bit applications in the AppPool's advanced setting
Have you setup "dsnname" in ODBC? Should be in Adminitrative Tools > Data Sources (ODBC) under the System DSN tab.
this problem can be solve using install jdk 7 to download go
to below link
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
Java SE Development Kit 7u79
Product / File Description : Windows x86
Size: 138.31 MB
Download: jdk-7u79-windows-i586.exe

What is this 'Multiple-step OLE DB' error?

I'm doing a little bit of work on a horrid piece of software built by Bangalores best.
It's written in mostly classic ASP/VbScript, but "ported" to ASP.NET, though most of the code is classic ASP style in the ASPX pages :(
I'm getting this message when it tries to connect to my local database:
Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
Line 38: MasterConn = New ADODB.Connection()
Line 39: MasterConn.connectiontimeout = 10000
Line 40: MasterConn.Open(strDB)
Anybody have a clue what this error means? Its connecting to my local machine (running SQLEXPRESS) using this connection string:
PROVIDER=MSDASQL;DRIVER={SQL Server};Server=JONATHAN-PC\SQLEXPRESS\;DATABASE=NetTraining;Integrated Security=true
Which is the connection string that it was initially using, I just repointed it at my database.
UPDATE:
The issue was using "Integrated Security" with ADO. I changed to using a user account and it connected just fine.
I ran into this a long time ago with working in ASP. I found this knowledge base article and it helped me out. I hope it solves your problem.
http://support.microsoft.com/kb/269495
If this doesn't work and everything checks out, then it is probably your connection string. I would try these steps next:
Remove:
DRIVER={SQL Server};
Edit the Provider to this:
Provider=SQLOLEDB;
As a side note, connectionstrings.com is a great site so you don't have to remember all that connection string syntax.
I came across this problem when trying to connect to an MySQL database via the wonderful Classic ASP. The solutions above didn't fix it directly, but I resolved it in the end by updating the ODBC Driver (from the long standing 3.51) to the latest version. I was then able to leave the driver line in (and not add the Provider bit), but I did have to update the connection string accordingly to:
Driver={MySQL ODBC 5.1 Driver};
That worked fine. Happy chappy.

Resources