Link to home
Start Free TrialLog in
Avatar of rick101396
rick101396

asked on

Drivers error '80004005'

Hi

After I have added a DataCommandControl to my ASP file using Visual InterDev 6, I get the following error when I try to view it with the broswer:
 
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
/webforms_Local/formSysDSN.asp, line 31

I am trying to create a file DSN to an Access database.  The file DSN is already created with the ODBC and a data connection is created in the global.asa file.  However, I am not sure how to access it from the ASP using VID6.  Can you tell me if there is a certain sharing requirement that should be set up for the database or the folder where it resides.  Currently the database is in the "C:\InetPub\wwwroot\data" directory.


Also, is there a Data Form Wizard in VID6 that was available in VID1?

Please advise on the problem.
Avatar of rajgn
rajgn

For connecting to an Access database, we need not have a file DSN. We can do it dynamically in asp, provided you know the path of the .mdb file correctly. Assuming your .asp file is also in the same directory and it's the root directory of the web (i.e C:\InetPub\wwwroot\data), the following will be successful to make a connection to the database.

Set Conn = Server.CreateObject("ADODB.Connection")
cnpath="DBQ=" & server.mappath("\dbfile.mdb")
Conn.open "driver={Microsoft Access Driver (*.mdb)};" & cnpath

if the location of .asp or .mdb file changes, make changes accordingly to the second statement.
Avatar of rick101396

ASKER

How do I create a recordset after the connection is made? I tried the following code:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
set cmd = server.CreateObject("ADODB.Command")
set rs=server.CreateObject("ADODB.Recordset")
cnpath= "DBQ=" & server.mappath(".\formpubs.mdb")
Conn.open "DRIVER={Microsoft Access Driver (*.mdb)};" & cnpath
cmd.CommandText="Select * From EDC_Forms"
cmd.CommandType=1
set cmd.ActiveConnection=Conn
rs.Open cmd,,1,1
%>

And I've got the following error message:

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
The request properties can not be supported by this ODBC Driver.
/forms/forms.asp, line 20

Please advise.
How do I create a recordset after the connection is made? I tried the following code:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
set cmd = server.CreateObject("ADODB.Command")
set rs=server.CreateObject("ADODB.Recordset")
cnpath= "DBQ=" & server.mappath(".\formpubs.mdb")
Conn.open "DRIVER={Microsoft Access Driver (*.mdb)};" & cnpath
cmd.CommandText="Select * From EDC_Forms"
cmd.CommandType=1
set cmd.ActiveConnection=Conn
rs.Open cmd,,1,1
%>

And I've got the following error message:

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'
The request properties can not be supported by this ODBC Driver.
/forms/forms.asp, line 20

Please advise.
ASKER CERTIFIED SOLUTION
Avatar of MasseyM
MasseyM

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks for the tip.

I just wanted to make sure...The script above can also be used as a DSN-less connection right?  

You are right, the procedure to connect is very simple, but my program for some reason is not creating the proper script.  I keep on having errors after another.  Thanks again.