SS3.0 - Search: Catalog Definition Wizard hangs trying to get list of tables in database
ID: Q242925
|
The information in this article applies to:
-
Microsoft Site Server version 3.0
-
Microsoft Site Server version 3.0, Commerce Edition
SYMPTOMS
This problem occurs when trying to create a search catalog through the HTML Admin interface for Site Server 3.0, which will crawl a SQL database through a DSN. After specifying the DSN and the system administrator's username and password, the site "hangs" trying to get a list of tables through the DSN specified and nothing is returned to the browser.
CAUSE
This behavior is caused by using a version-specific reference to an ADO 1.5 database connection object (that is, Adodb.connection.1.5)
RESOLUTION
This behavior is caused by the following.
The "Adodb.connection.1.5" key in the registry either doesn't exist or is pointing to an invalid CLSID. Because of this it causes the following code in Dbwiz2.asp to fail during execution of the wizard:
Set objConnection = CreateObject ("adodb.connection.1.5")
It also causes the following lines of code in Dwiz6.asp to generate invalid dir, row and view.asp pages upon completion of the wizard:
objViewFile.WriteLine ("<% Set r = createobject (""ADODB.Recordset.1.5"") " & g_strAspScriptTerminator)
objDir.WriteLine ("<% Set r = CreateObject(""ADODB.Recordset.1.5"") ")
objRowFile.WriteLine ("<% Set r = createobject (""ADODB.Recordset.1.5"") " & g_strAspScriptTerminator)
In Dbwiz2.asp, since the call to CreateObject fails, and "On error resume next" is being used, the WriteTableNameOptionButtons subroutine continues to run and gets stuck in a infinite loop, which makes the browser appear to be "hung" while the server runs through the loop sending HTML content to the browser.
The solution, since ADO 1.5 is not working properly, is to change the "Adodb.connection.1.5" code to just read "Adodb.connection" and the "Adodb.recordset.1.5" code to read "Adodb.recordset" so that the pages will use the currently installed version of MDAC in a non version-specific manner. This has to be done for every ASP page that has the invalid ADO reference.
Steps to resolve
- Modify the following ASP pages with Notepad and search for and find the following lines of code:
Set objConnection = CreateObject ("Adodb.Connection.1.5")
replace it with this line of code:
Set objConnection = CreateObject ("Adodb.Connection")
It is recommended that you use the Find and Replace feature rather than looking through the file line by line:
\Microsoft Site Server\SiteServer\Admin\knowledge\persmbr\odbcwiz04.asp
\Microsoft Site Server\SiteServer\Admin\knowledge\persmbr\odbcwiz05.asp
\Microsoft Site Server\SiteServer\Admin\knowledge\persmbr\odbcwiz06.asp
\Microsoft Site Server\SiteServer\Admin\knowledge\persmbr\odbcwiz11.asp
\Microsoft Site Server\SiteServer\Admin\knowledge\search\dbwiz2.asp
\Microsoft Site Server\SiteServer\Admin\knowledge\search\libdbwiz.asp
Now there are some sample sites that are using this as well. The CMSample site and FPSample site. If you want to fix those you need to update the following files:
\Microsoft Site Server\Data\Publishing\CmSample\approve.prf
\Microsoft Site Server\Data\Publishing\CmSample\awards.prf
\Microsoft Site Server\Data\Publishing\CmSample\casestudy.prf
\Microsoft Site Server\Data\Publishing\CmSample\headlineview.prf
\Microsoft Site Server\Data\Publishing\CmSample\jobposting.prf
\Microsoft Site Server\Data\Publishing\CmSample\mydocs.prf
\Microsoft Site Server\Data\Publishing\CmSample\pressreleases.prf
\Microsoft Site Server\Data\Publishing\CmSample\specview.prf
\Microsoft Site Server\Data\Publishing\CmSample\whitepaper.prf
\Microsoft Site Server\Data\Publishing\FpSample\approve.prf
\Microsoft Site Server\Data\Publishing\FpSample\casestudy.prf
\Microsoft Site Server\Data\Publishing\FpSample\datasheet.prf
\Microsoft Site Server\Data\Publishing\FpSample\headlineview.prf
\Microsoft Site Server\Data\Publishing\FpSample\mydocs.prf
\Microsoft Site Server\Data\Publishing\FpSample\whitepaper.prf
- In the file \Microsoft Site Server\SiteServer\Admin\knowledge\search\dbwiz6.asp, find the following lines of code:
objViewFile.WriteLine ("<% Set r = createobject (""ADODB.Recordset.1.5"") " & g_strAspScriptTerminator)
objDir.WriteLine ("<% Set r = CreateObject(""ADODB.Recordset.1.5"") ")
objRowFile.WriteLine ("<% Set r = createobject (""ADODB.Recordset.1.5"") " & g_strAspScriptTerminator)
Change them to read ""ADODB.Recordset"" vs ""ADODB.Recordset.1.5""
- Save all of the files and re-start the IIS Admin service to flush the ASP template cache
- After re-starting IIS step through the wizard to create your catalog to crawl the database.
STATUS
Microsoft has confirmed this to be a problem in Site Server 3.0.
Additional query words:
Keywords :
Version : winnt:3.0
Platform : winnt
Issue type : kbbug