Simple ADO recordset call returns: Server.CreateOb

Results 1 to 2 of 2

Thread: Simple ADO recordset call returns: Server.CreateOb

  1. #1
    Join Date
    Dec 1969

    Default Simple ADO recordset call returns: Server.CreateOb

    KJSHD*&@#*&^!!!!!!!<BR><BR>When I call an ADODB recordset explicitely, I get the following error:<BR><BR>Server object error &#039;ASP 0177 : 80029c4a&#039; <BR>Server.CreateObject Failed <BR>/orders/orderform_proc.asp, line 18 <BR>Error loading type library/DLL.<BR><BR>The call to the rs i&#039;m using is as follows:<BR> Set objRS = Server.CreateObject("ADODB.Recordset") <BR> objRS.Open strSQL, objConn<BR><BR>If I call the db implicitely, i get no errors, but I don&#039;t have an rs object to play with:<BR> set objRS = objConn.execute(strSQL)<BR><BR>The same code was working swimmingly on a different server using an earlier version of ASP. This is running (or not, as to be more accurate) on very recent versions of IIS and ASP. (not .NET, tho). <BR><BR>Of the many steps I&#039;ve taken, the most noteable are:<BR>1. tried accessing via an ODBC DSN, Jet, and ADODB.<BR>2. Updated to MDAC 2.7<BR>3. Cried like a little girl.<BR><BR>Me no understand.<BR><BR>Thanks in advance,<BR>Bill Nesting<BR>Creative Computer Services, Inc.<BR><BR>Full code for reference:<BR>-------------------------------------------------------------<BR>&#060;% <BR>Dim objConn<BR>Set objConn = Server.CreateObject("ADODB.Connection") <BR><BR> objConn.ConnectionString = "DSN=MPIFOrders" <BR> objConn.Open <BR> <BR> Dim objRS<BR> Set objRS = Server.CreateObject("ADODB.Recordset") <BR> <BR> Dim strSQL<BR> strSQL = "SELECT * from [test];" <BR> <BR> objRS.Open strSQL, objConn <BR> <BR> objRS.Close<BR> Set objRS = Nothing<BR><BR> &#039;set objRS = objConn.execute(strSQL)<BR><BR>objConn.Close<BR>Se t objConn = Nothing <BR>%&#062;

  2. #2
    Join Date
    Dec 1969

    Default You have a hosed DLL...

    If *THIS* line works okay:<BR><BR> Set objConn = Server.CreateObject("ADODB.Connection") <BR><BR>Then you know (a) you *do* have the DLL present, (b) it is properly registered, (c) and it at least partly works.<BR><BR>So for this to fail:<BR> Set objRS = Server.CreateObject("ADODB.Recordset") <BR><BR>*AFTER* the first object is successfully created indicates either a hosed DLL or a hosed registry.<BR><BR>More I think of it, I&#039;d bet on the registry.<BR><BR>Try this:<BR><BR>(1) User REGEDIT to open the registry.<BR>(2) Use the EDIT menu to FIND the string "ADODB.Connection".<BR>(3) Find the "InProcServer32" entry for that. (You may have to use "find next" one or more times before you find it. And it will likely be under the GUID entry for the component, not under the name, per se.)<BR>(4) Copy/paste (and write down) what that says. It should give you the name and full path to the ado DLL. Mine says (for example):<BR> C:Program FilesCommon FilesSystemadomsado15.dll<BR><BR>(5) Mouse back to the top of the regedit listings and do the same thing for "ADODB.Recordset".<BR>(6) Check its InProcServer32. If it&#039;s not the same, you&#039;ve found the problem. You can try uninstalling and reinstalling, but since you are hosed anyway, if you are only moderately brave you can change that InProcServer32 value to match the Conneciton object&#039;s path.<BR><BR>If there is something that seems wrong about the registry entry(ies) but it&#039;s not the InProcServer32 entry, think long and hard and ask for help before changing it.<BR><BR><BR><BR>

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts