|
Setting up Textserver
Supporting Software
Required
- sgmltoxml.exe
- Sgml to XML transducer. This is required only if you wish to use the system with SGML files, not already
conforming to XML
- indexer.exe
- XML indexer.
- dcQsm2Oledb.dll
- TextServer OLE/DB service provider. This dynamically linked library provides access both to the ole/db
interfaces necessary to operate qsm2 as a server, and to the error message handler interfaces used by ole/db.
- dcQsm2Locale.dll
- TextServer default word tokenizer employed by dcQsm2Oledb.dll and indexer.exe.
- msdaer.dll
- Microsoft OLE/DB error object. If this error object is not installed, extended errors will not be
returned by TextServer.
Recommended
- msdaerr.dll
- OLE/DB error code to description module.
- All OLE/DB core components.
- These components are provided for redistribution by Microsoft, and may be required to support basic OLE/DB
capabilities.
- oldedb.lib
- This library must be linked into any program that wishes to access OLE/DB interfaces.
- Source for dcQsm2Locale.dll
- It is intended that end users may develop their own word tokenizers to handle specific requirements, with
the source of dcQsm2Locale serving as a useful prototype.
- RDS 2.0
- These components (if not already installed) are provided for redistribution by Microsoft, and are
required to support RDS.
- ADO 2.0
- These components (if not already installed) are provided for redistribution by Microsoft, and are
required to support ADO.
Optional
- qsm2.exe
- This is a standalone version of textserver software, coupled with a simple command line interface. It
is useful for asking ad-hoc queries, validating the correctness of queries, etc.
- dlldriver.exe
- This is identical to qsm2.exe but loads the textserver software via the appropriate dynamically linked
libraries. It's main purpose is to allow testing of the textserver dll's.
- isamu.exe
- This is a utility which allows exploration of the internal textserver file structures.
- Documentation
- Additional OLE/DB service providers.
- The full Microsoft data access software development kit
(Msdasdk)
-
Registration
The following dynamically linked libraries must be registers in the NT registary:
- msdaer.dll
- dcQsm2Oledb.dll
- dcQsm2Locale.dll
- Other OLE/DB core components if installed.
- msdaerr.dll (if used)
To register the functionality associated with a dll, having a specific filename, change into the directory
containing this dll and then issue the following command:
$ regsvr32 filename
To remove the information that this command adds to the registry issue the command:
$ regsvr32 /u filename
System Environment Variables
The text indexing software, and supporting sorting software employed by both the text indexer and TextServer
may use the TEMP, TMP etc. environment variables to determine the default locations for temporary
files.
The batch files used to reconstruct the sample texts expect the environment variable TextServer to
specify the location of the directory containing all TextServer executables. This simplifies the deployment of
these batch files, and executables.
NT Registry Values
It is important to stress that for directories to be used by textserver software they must be accessible to
that software. Please ensure that log directories in particular are writable by any service which employs
textserver.
- SOFTWARE\Dealers Choice Software\PathMacros
Keys under this directory when embedded using the syntax $(Key) in paths and filenames, will be
expanded at runtime into their corresponding registry values. The primary purpose of PathMacros are to
facilitate portability of text and software. Unlike system environment variables which are expanded
auto-magically by the NT command shell, path macros are understood by TextServer, and preserved within paths
internally saved by TextServer. In particular an index constructed from an external text, described using one
or more path macros will remember the path macros used to address this external text. This allows indexes,
external texts, or both to be moved independently, subject only to the requirement that the path macros used
to address these files must be revised appropriately.
- SOFTWARE\Dealers Choice Software\PathMacros\SampleCatalog
This path macro is used to specify where (if anywhere) the catalog used to provide access to the optional
sample texts should be created.
- SOFTWARE\Dealers Choice Software\PathMacros\SampleTexts
This path macro is used to specify under which directory (if any) the sample texts should be installed.
- SOFTWARE\Dealers Choice Software\TextServer\Catalogs
All data that TextServer requires in order to operate is referenced by shortcuts (Shell Links) under a single
predefined master directory. This directory name must exist and must be defined in the NT registry as the
value of the above key.
- SOFTWARE\Dealers Choice Software\TextServer\FileTypes\Text
This specifies those file extensions, separated by a space which are to be considered to identify text indices
produced by dcQsm2Indexer.exe. Files with these extensions may safely be read as
text indices by any user of TextServer, subject only to operating system permissions allowing this. Internal
text values derived from such files, have no SQL2 granting mechanism associated with them. Text files which
users must be granted access to using the SQL granting mechanism, should be assigned a distinct extension from
those specified in this option, and thus be referenced only via created tables, on which grants may be imposed.
The extension '*' matches all extensions.
- SOFTWARE\Dealers Choice Software\TextServer\FileTypes\String
This specifies those file extensions, separated by a space which are to be considered to identify ascii or
unicode text files. The extension '*' matches all extensions. Files with these extensions may safely be
resented as strings by any user of TextServer, subject only to operating system permissions allowing this.
Internal string values derived from such files, have no SQL2 granting mechanism associated with them. String
files which users must be granted access to using the SQL granting mechanism, should be assigned a distinct
extension from those specified in this option, and thus be referenced only via created tables, on which grants
may be imposed.
- SOFTWARE\Dealers Choice Software\TextServer\LogDirectories\Errors
This specifies the directory where error logs should be written. If no directory is specified, or if the
directory is not writable by the process invoking TextServer then no error logs will be produced. It is
strongly recommended that errors are logged.
- SOFTWARE\Dealers Choice Software\TextServer\LogDirectories\Oledb
TextServer will record detailed information about how it is invoked and what it returns through the OLE/DB
interface, if this directory is named and writable. Users are cautioned that tracing may be voluminous and
should therefore only be enabled when needed. For performance reasons tracing is allowed only in the debug
version of TextServer.
- SOFTWARE\Dealers Choice Software\TextServer\LogDirectories\Sql
TextServer will log each SQL command executed in the specified directory, if this option is present, and the
named directory is writable. The primary purpose of this log is to monitor which commands are executed, and
to detect commands which begin but are never completed. Users are cautioned that this option should only be
enabled if valued.
- SOFTWARE\Dealers Choice Software\TextServer\OLEDB\DcQsm2Oledb.dll\Options\MessageBoxOnStart
This string if specified will be presented in a message box, when TextServer is first invoked. This is
useful for verifying that TextServer was correctly loaded, and for interactively debugging TextServer. Users
are cautioned that TextServer will not work correctly under ASP, if this option is specified.
NOTE: In order for logging to be enabled while running qsm2 software under Internet Explorer the correct permissions
have to be set on the 'logs' folder in the TextServer directory. IIS will require write permissions
on this and subordinate directories. This can be done in the following manner:
- Open up windows explorer and go to TextServer directory.
- Right click on the 'logs' folder and select Properties.
- Click on the Security Tab.
- From the list choose 'Internet Guest Account'.
- Click the Allow box for the Write property.
- Click on OK.
If you are running Windows XP you might not see the Security tab when you select folder properties. In that
case you have to perform these steps first:
- Open Windows Explorer.
- From the menu select Tools/Folder Options ...
- Select the View Tab.
- Scroll to the bottom of the list. Uncheck the Use simple sharing (Recommended) option.
- Click on OK.
If you do not see an entry for "Internet Guest Account", simply type in the name of this account. The full name of
the IIS Internet Guest Account is machine\IUSR_machine. If any doubt exists as to this name, it
is provided as a value in the information_schema.server table, which can be recovered by accessing this table from
any catalog via a suitable web script.
File Extensions
You may wish to register isamu.exe as the default tool to be associated with files having
any file extension denoting catalogs or text indices produced by TextServer. You may wish to restrict the
availability of this tool, since if abused it can permanently destroy files that it operates on.
See documentation on SQL extensions for further specifics on creating QSM2 databases.
|