Showing posts with label database. Show all posts
Showing posts with label database. Show all posts

Question:
What types of FoxPro indexes are not supported by the BDE?
When trying to open some tables, I get an "Invalid Index
Descriptor" error.

Answer:
This error occurs when the production index (.CDX) associated
the table has an index tag which has an expression which the BDE
cannot evaluate. The solution is to delete the tag using FoxPro
create an eqivalent index that the BDE can understand.

The following conditions are not supported by the BDE and will
cause "Invalid Index Descriptor" error.

DTOC(, 1) format not supported; Use DTOC().
ALLTRIM function not supported; Use LTRIM(RTRIM(Field)).

Question:
The client machine displays error "EOleSysError: Error
loading type library/DLL". DBCLIENT.DLL and IDPROV32.DLL
files are present in the BDE directory of Delphi.

Answer:
Make sure that STDVCL32.DLL is on the machine in the
WINDOWS\SYSTEM directory and registered.

REGSVR32 STDVCL32.DLL

Question:
The client machine displays error "DAX Error class not
registered."

Answer:
You need to have DBCLIENT.DLL on the client, and it needs to
be registered.

Question:
What are the file extensions for dBASE and Paradox tables?


Answer:

File Extensions for Paradox Tables.?

.DB Paradox table?

.FAM listing of related files (like a table's .TV file)?

.LCK Lock file?

.MB Blob file?

.PX Primary index?

.TV Table view settings (not used by BDE)?

.VAL Validity checks and referential integrity?

.Xnn Secondary single-field index, numbered?

.Ynn Secondary single-field index, numbered?

.XGn Composite secondary index ?

.YGn Composite secondary index ?


File Extensions for dBASE Tables?

.DBF dBASE table

.DBT Memos for a dBASE table

.MDX Maintained index of a dBASE table

.NDX Non-maintained index of a dBASE table

.TVF Table view settings for a dBASE table

Question:
I receive error: "DAX Error - Name not unique in this context".
How do I resolve this?

Answer:
Set the HandleShared property on your TDatabase component to
True.

Question:
Hetergenious joins: How do I join files from differing alias
(heterogeneous joins) using a SQL statment?

Answer:

For each server table, a connection must exist before the
query is executed. A TDatabase can be used to establish the
connection.

The SQL statement must use real alias names, as set up in
the BDE configuration utility, not DatabaseName properties
from a TDatabase.

The SQL syntax should be formatted as follows: a double
quote, a colon, a real alias name, a colon, the table name,
and a double quote. See example below.
Leave the DatabaseName property of the TQuery blank, unless
the alias is local. For example, specifying DBDEMOS in the
Query's DatabaseName property will work, but using IBLOCAL
will cause a general SQL error.

Example:
SELECT A.ITEMNO, B.VENDORNO
FROM ":DBDEMOS:ITEMS" A, ":IBLOCAL:VENDORS" B
WHERE A.VENDORNO = B.VENDORNO

Question:
I receive a "Cannot load Idapi service library" error.
How do I resolve this?


Answer:
This general IDAPI startup error can occur for a number of
reasons. In the context of a multi-tier application, you
should be sure that STDVCL32.DLL and DBCLIENT.DLL are
registered on the server. Also, make sure that you have
IDPROV32.DLL in the BDE directory.

Question:
What other software do I need to access Microsoft Access
databases and tables

Answer:
You must have Microsoft's DAO version 3.0 drivers installed. The
Access driver does not support DAO 3.5 (Access 97). If you
upgrade Access 95 to Access 97, DAO 3.0 still resides on your
machine, so the driver will function correctly. If you install
Access 97 with no prior version of Access 95, the driver will
not function.

Question:
"Could not find IDataBroker in type library" error. How do I
resolve this error?

Answer:
Stdvcl32.dll may have gotten deleted from your Window's system
directory. If you need to, copy it from your CD and register it
using TRegSvr.exe (found in the Delphi bin directory).

Question:
I get an External Exception error in Delphi when connecting to
Sybase server when in Delphi's IDE or Turbo Debugger with NT4
running the 10.0.4 Sybase client. If I run the application
alone, it executes correctly. How do I get around the problem?

Answer:
In NT4.0 anything that is being debugged with any debugger will
cause the OS to report exceptions that would otherwise be

ignored. "External Exception C0000008" one of those types of
errors. Changing the Sybase client version will solve the
problem. You can move back to the 10.0.3 client.

Question:
Why do I receive an "Interface is not supported" error when
trying to use an interface?

Answer:
Verify that STDVCL32.DLL and your type library are registered.
If casting an interface, you must be using DCOM and the type
library must be registered on the client.

Question:
SELECT INTO statment returning error "ct_cursor(CLOSE); user api
layer: external error: A cursor must be opened before this
command type can be intialized." What is wrong and how do I get
around the problem?

Answer:
The Sybase CTLIB client will always parse a passthrough sql
statement weather or not we (Delphi, BDE, SQL Links, etc.) issue

an 'open' or 'exec'. If a SELECT is found to be the FIRST
word, it (Sybase CTLIB) will try to create a cursor hence the
error message. There is a workaround. Place a comment in front
of the SQL text like so:

CHANGE
select * into #temptable from oldtable

TO
/**/select * into #temptable from oldtable

Question:
"Application is not licensed to run this feature" error when
running demo application from \demos\db\clientds.

Answer:
This error occurs when attempting to use Delphi 3 Client/Server
features from Delphi 3 Professional or Standard editions. This
could happen if you compiled the demos using a compiler other
than the one that comes with Delphi 3 C/S. Check that the

Delphi 3 Professional was not installed previously without first
being un-installed. To correct this situation, uninstall
Delphi, double check for leftover Delphi files, and finally re-
install Delphi 3.0 C/S.

Question:
What would cause error "SYB-12403 ctsend(): user api layer:
external error"

Answer:
This routine is Fixed in BDE/SQL Links 4.0

ctsend(): user api layer: external error: this routine
cannot be called because another command structure has
results pending

Question:
At client, how can I get the IP address or host name of
itself.

Answer:
The following example requires using the Winsock API
encapsulated in WinSock.pas.

uses
WinSock;

procedure GetHostInfo(var Name, Address: string);
var
WSAData: TWSAData;
HostEnt: PHostEnt;
begin
{ no error checking...}
WSAStartup(2, WSAData);
SetLength(Name, 255);
Gethostname(PChar(Name), 255);
SetLength(Name, StrLen(PChar(Name)));
HostEnt := gethostbyname(PChar(Name));
with HostEnt^ do
Address := Format('%d.%d.%d.%d',[
Byte(h_addr^[0]),
Byte(h_addr^[1]),
Byte(h_addr^[2]),
Byte(h_addr^[3])]);
WSACleanup;
end;

Question:
"External Exception C0000008" or "Access Violation" error with
2.3.3 SQL NET client: I get an Access Violation with Delphi 3
and an External Exception error with Delphi 2 when connecting
to an Oracle server when in Delphi's IDE or Turbo Debugger with
NT4. If I run the application alone, it executes correctly. How
do I get around the problem?

Answer:

Borland has determined that this is a problem with SQL NET
2.3.3. Oracle also recognizes this as a SQL NET problem. There
are a couple of workarounds:

Rename or remove the registry entry
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\OTRACE73
This is the solution that Oracle support recommends!
Start Oracle's Installer and remove the "Oracle Trace
collection Serveces 7.3.3.x.x"
Turn off Integrated Debugging in Delphi's IDE
Use an Oracle SQL NET that is older than 2.3.3

Question:
If I use TMidasConnection with the sockets (TCP/IP)
transport, can I still take advantage of OLE Enterprise load
balancing and fail over? Would I then have to install OLE
Enterprise on the client machines?


Answer:

You can take advantage of OLE Enterprise without installing
it on the clients machines. Just set up the server (the
machine running SCKTSRVR.EXE) as a OLE Enterprise client.
That way, when a request comes in from a real client,
SCKTSRVR will attempt to create the object, and OLE
Enterprise will intercept and provide the service.

Question:
When attempting a connection to Oracle using the BDE Oracle SQL Links driver, why am I getting the error, Vendor initialization failure: ORANT71.DLL, when the driver's Vendor Init parameter is set to ORA73.DLL [or ORA72.DLL]?

Answer:
The BDE always searches the path first for the DLL specified in the Vendor Init parameter and if that fails, the BDE searches, by default, for ORANT71.DLL. Thus the Vendor Init error means that the BDE failed to find and load the DLL you specified and ORANT71.DLL.

Question:
To use TMidasConnection, do I need DCOM installed?

Answer:
No. TMidasConnection does not rely on DCOM.

Question:
How does the socket server (\bin\Scktsrvr.exe) interact with
TMidasConnection?

Answer:
The socket server is something like a service that replaces
DCOM, but without the security. When a client application sets
Connected = True on a TMidasConnection, the socket server on the
server machine creates the remote data module. Then it takes
the IDispatch invoke and GetIDsOfNames methods and marshals them
through the socket connection, using TCP/IP.

CLICK TO REGISTER