Link to home
Start Free TrialLog in
Avatar of TRACEYMARY
TRACEYMARY

asked on

asp running on windows 2003 64 bit

hi we have asp running on windows 2000 and 32 bit and access sql great.

now on the new 64 bit machine it does not run.

ADODB.Connection error '800a0ea9'
Provider is not specified and there is no designated default provider.

Im seeing all kinds of things about 64 bits.....

Can asp pages run SQL on 64 bit machines...and access..?


Thanks...

Avatar of hismightiness
hismightiness

What does your connection string look like?  Does your 64 bit version have the latest MDAC installed?
Avatar of Anthony Perkins
Please delete the following question before someone makes a contribution or request that the points be reduced in both as it is a duplicate:
https://www.experts-exchange.com/questions/21745777/asp-will-not-run-on-new-64-bit-machine.html
Avatar of TRACEYMARY

ASKER

Oh i posted it twice ........sorry i did.

string
Hi i have same website on another machine but this new one is a 64 bit machine
Does not matter ...it will not serve the ASP page that works on other machine.
I have ODBC all set up correctly.

When run page i get
ADODB.Connection error '800a0ea9'
Provider is not specified and there is no designated default provider.

set dbConn = server.createobject("adodb.connection")
dbConn.open  = "Provider=SQLOLEDB.1;Password=cyclone;Persist Security Info=True;User ID=sa;Initial Catalog=MyCatalog;Data Source=myserver"

Does not work for  DSN file either
myConnFile = Server.mapPath("/") & "/" & "TESTFILE.dsn"
connectstr = "Provider=SQLOLEDB.1;Password=cyclone;Persist Security Info=True;User ID=sa;Initial Catalog=DataWarehouseTEST;Data Source=TVI_SERVER02"
connectstr = "FILEDSN=C:\Inetpub\wwwroot\MYSITE\MYTESTFILE.dsn"
Set dbConn = Server.CreateObject("ADODB.Connection")
dbConn.Open connectstr

Is it something to do with 64 Bit ?
From what I can tell by looking through the information that I have available to me, a DSN-Less connection will always work.  For some reason that I cannot even find on Microsoft's site, any DSN connection will fail.  There are many others on the internet with the same posting that you have made with no real answers.  Just the DSN-Less work around.

Here is another thread similar to yours on EE:
https://www.experts-exchange.com/questions/21516365/ASP-on-windows-2003-64bit-ADODB-Connection-error-'800a0ea9'.html

I will keep looking for you...
This MS Article has a lot more information on the data components you are using:  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnmdac/html/data_mdacroadmap.asp

Additionally, here are some snippets that I though might interest you:

# SQLOLEDB: Microsoft OLE DB Provider for SQL Server (SQLOLEDB) supports access to Microsoft SQL Server 6.5 and later. This OLE DB Provider will be the primary focus of future MDAC feature enhancements. It will be available on the 64-bit Windows operating system.

# SQLODBC: Microsoft SQL Server ODBC Driver (SQLODBC) enables access to Microsoft SQL Server 6.5 and later. SQLODBC will be available on the 64-bit Windows operating system.

# MDAC 2.8: This version of MDAC is included with Windows Server 2003 and Windows XP SP2 and later.

    * The 32-bit version of MDAC 2.8 will also be released to the MDAC Web site at the same time Windows Server 2003 is released to the customer.
    * The 64-bit version of MDAC 2.8 will release with the 64-bit version of Windows Server 2003 only.

At this point, I am wanting to make sure that your 2003 Server is updated with all the latest SPs.
According to this reference to ADO 2.8 on connection strings, your Provider is not right:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdrefsqlprovspec.asp
Thats what i was thinking im not using the ODBC im using the dll......................
i see lots of thread too..its odd.

I have mdac 2.8 sp2 on the new server.....

this is my connection string......
dbConn.open  = "Provider=SQLOLEDB.1;Password=cyclone;Persist Security Info=True;User ID=sa;Initial Catalog=MyCatalog;Data Source=myserver"

from thread i see...only think i see is the .1  ...i removed it still same error.

"Provider=SQLOLEDB;Data Source=serverName;"
Initial Catalog=databaseName;
User ID=MyUserID;Password=MyPassword;"

Tracey
Is it saying that SQLOLEDB will not work on 6.4 bits
so what should i use........getting confused.

i have windows server 2003 standard x64 edition service pack 1

Phew this is tough.......
Well, you are trying the OLEDB way.  What happens if you try the ODBC way:

Driver={SQL Server};Password=cyclone;Persist Security Info=True;User ID=sa;Initial Catalog=MyCatalog;Data Source=myserver
Your OLEDB connection string appears to be fine.  Also, the object name appears to be the same in the 64-bit version.  Although the ADO 2.8 Appendix example doesn't use a connection:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmscusingadowithmicrosoftvisualbasicscriptingedition.asp

Is there a reason you are using the Persist Security Info parameter?  Can we try it with out it?
Just in case:

Persist Security Info (default value is false)
When set to 'false', security-sensitive information, such as the password, is not returned as part of the connection if the connection is open or has ever been in an open state. Resetting the connection string resets all connection string values including the password.
Well this gets really odd now.

if i put the dbConn.open below
dbConn.open "Provider=SQLOLEDB;Password=cyclone;User ID=sa; Password=cyclone;Initial Catalog=DataWarehouse;Data Source=TVI_SERVER02"
it worked..................

then i redid it with Persist part and that now works........
dbConn.open "Provider=SQLOLEDB;Password=cyclone;Persist Security Info=True;User ID=sa; Password=cyclone;Initial Catalog=DataWarehouse;Data Source=TVI_SERVER02"


Now i went to my entire site and it uses.
                dim  dbConn
      set dbConn = server.createobject("adodb.Connection")
       If session("SERVER") = "TEST" then
            dbConn.open Session("DATABASETEST")
        else
            dbConn.open Session("DATABASE")
       end if
        Set rs = Server.CreateObject("ADODB.Recordset")

the global.asa has
Session("DATABASE") = "Provider=SQLOLEDB;Password=cyclone;User ID=sa; Password=cyclone;Initial Catalog=DataWarehouse;Data Source=TVI_SERVER02"      

But it does not set it.................put if i go and do this
      dim  dbConn
      set dbConn = server.createobject("adodb.Connection")
       If session("SERVER") = "TEST" then
            dbConn.open "Provider=SQLOLEDB;Password=cyclone;User ID=sa; Password=cyclone;Initial Catalog=DataWarehouseTest;Data Source=TVI_SERVER02"      
        else
            dbConn.open Provider=SQLOLEDB;Password=cyclone;User ID=sa; Password=cyclone;Initial Catalog=DataWarehouse;Data Source=TVI_SERVER02"      
       end if
        Set rs = Server.CreateObject("ADODB.Recordset")
All is fine.........

How strange..........................

Apart from 64 bit using IIS 6.0 who site was IIS 5.0

Is there now a limitation of what you send in Session.

you been helpful...........................
Then is this set-up with sessions in IIS?  There shouldn't be a limitation.  Are you able to set and check other Session variables?
Ok..........i think im there......................
i got it working.............i did not have virtual directory setup....
so i went ahead and created the virtual directory and it works ok.

That was a hard one to find...i think it was a bit of both...........
the persist part as well..

thanks for hanging in there  with me ..............
ASKER CERTIFIED SOLUTION
Avatar of hismightiness
hismightiness

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