im trying to connect to to an interBase database, and create a ASP.net application.
im using a 64bit machine but for sum reason I cant seem to add the data source from the data source administrator. im using a program called data direct which worked perfectly on my 32bit machine.
can any one suggest how I may be bale to solve this ??
Although there is (as of IB XE) a 64 bit client for IB, I don't think Embarcadero/DataDirect currently ship a 64 bit ODBC driver. Therefore you would need to use a 32 bit app pool and set up the data source using the 32 bit ODBC control panel (or directly in the 32 bit registry). This will work on a 64 bit machine.
I agree with Craig.
But a bit suggest:
You can step the ODBC creation, by using directly and odbc.odbcConnection:
$ Dim sConnStr As String
$ sConnStr = "Driver={INTERSOLV Interbase ODBC Driver (*.gdb)};
$ uid=sysdba;
$ password=masterkey;
$ database=server:path"
$ Dim oConn As New Odbc.OdbcConnection(sConnStr)
Related
I have a Sage 100 ERP install running on a server and I would like to make a database query through Excel to pull data from the database. I'm running a 64 bit operating system and when I look in the 32 bit ODBC Data Source Administarator, the only DSNs that appear are:
[
When I look at the drivers tab, the MAS 90 4.0 ODBC driver is present.
Should SOTAMAS90 be created automatically as a DSN or should I try to create it manually?
Next tab over. It's a System DSN.
Let us know if you need more help.
Aaron
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
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
I have a an asp.net app that uses a SYSTEM DSN, and it works fine on local machine. After deploying to a 64 Bit server I am unable to connect to the DB using the dsn.
Here is what I did, I created the 32 bit system DSN on the server and it tested connection correctly ( created it under %WINDIR%\SysWOW64\odbcad32.exe . The 64 bit DSN entry is empty (at %WINDIR%\System32\odbcad32.exe).
Now When I run the app it seems like it is trying to find the system dsn entry in the 64 bit ODBC driver instead of the 32 bit.
Is there a setting on the Odbc connection that will force it to look at 32 bit DSN entry ?Is there a server config that I need to change .I havealready set the app pool on iis to enable 32 bit apps , but it didnt help ..I have been banging my head on this for hrs , any help is appreciated..Thanks
Some how you've got things mixed up. 32 bit apps look in one place for DSNs and 64 bit apps look in another place. You cannot mix 32 bit apps with 64 bit ODBC drivers (or vice versa) so it does not make sense for the setting you enquire about.
I'm dealing with an issue that has arisen for an application I've been working on which connects to a Access file via JDBC-ODBC. On other Windows platforms, this issue hasn't been encountered, but on Windows 7 64-bit boxes, attempting to connect with DSN-less connection strings return:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Multiple variations on the string have been attempted, but all of them have returned the same error. Here's how it currently tries to connect:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
StringBuffer databaseConnectionString;
if (SystemUtils.IS_OS_WINDOWS_7) {
databaseConnectionString = new StringBuffer("jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=");
databaseConnectionString.append(databaseFile);
} else {
databaseConnectionString = new StringBuffer("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=");
databaseConnectionString.append(databaseFile);
databaseConnectionString.append(";DriverID=22;READONLY=false}");
}
Examining the driver in the 32-bit ODBC Data Source Admin confirms that the drivers are present. However, when regedt32.exe is used to examine ODBC drivers (HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI/ODBC Drivers), none of them appear.
Can anyone help to shed some light on this?
I found the problem was that I was running the program in 64-bit Java. Although I have yet to successfully have the program detect if it's running in 32-bit or 64-bit Java, I have solved the solution by installing a 32-bit Java runtime environment and using a .bat file that reads as follows:
#echo off
"C:\Program Files (x86)\Java\jre6\bin\java" -D32 -Xmx1024m -jar programName.jar
Thanks for the help!
This was a difficult challenge given the paucity of meaningful error messages from JAVA or MS's ODBC driver. The answers above about down selecting to 32bit Java and MS Access drivers (using AccessDatabaseEngine.exe from MS) did work but cost a significant penalty (about 30%) in processing other actions compared to using 64bit Java. I was unwilling to pay this price so I installed 64bit Java (in conjunction with 32bit, both in a separate directory c:\Java\32 or 64). This latter directory issue was important for me since I was using Apache Geronimo and it would not start if Java was installed in Program Files (x86)... as the (x86) seemed to kill its batch file parsing. I then uninstalled 32bit MS Access and installed 64bit MS Access (AccessDatabaseEngine_x64.exe). Finally, it worked with both higher speed and MDB connection.