Error detected by database dll

dear sir
i'm using VB and access2000 and crstal reports 8.0
my program works fine in my computer
but when i make the exe and load it in another PC where there is no Vb, access and crsystal reports 8.0 , i get the error message
"Run time error 20534: Error detected by database dll"
how to recover from this error
please help
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.


Err Msg: "20534: Error detected by database DLL" with Visual Basic 6 SP3

The information in the article refers to:
Crystal Reports 8.5
Applies to:
Reported version and lower
Crystal ActiveX (OCX) Control
ODBC connection to a text file
Error "20534: Error detected by database DLL"

A Microsoft Visual Basic application uses the Crystal Reports OCX control (crystl32.ocx) as the reporting development tool.

A Crystal Report is created using Microsoft's ODBC driver for text files. When attempting to preview the report in Microsoft Visual Basic, the following error message appears:

Run-time error "20534: Error detected by database DLL"

Using ODBC Trace generates the error:

Run time error '-2147467259 (80004005)': [Microsoft][ODBC Text Driver] Selected collating sequence not supported by the operating system

The report previews successfully in the Crystal Reports designer and when the project is compiled into an executable.

Similar errors occur with other Crystal Reports Development tools:

- The Automation Server (cpeaut32.dll) displays the same error.
- The Print Engine API (crpe32.dll) displays error "534: Error detected by database DLL"
- The Report Designer Component displays the error "Selected collating sequence not supported by the operating system" (see Knowledge Base article c2007927 for further details).


This is a known issue within the Microsoft Visual Basic Service Pack 3 and higher. For more information on this issue refer to Microsoft Knowledge Base article Q246167 at
To run the project in the Visual Basic IDE, use the following error trapping code:

#Const fDebug = true
Dim logon as integer

On Error GoTo traperror:

With CrystalReport1
.ReportFileName = <path to report file>
logon = .LogOnServer("pdsodbc.dll","<Your DSN>","","","")
.Action = 1
End With


#If fDebug = true then
         If Err.Number = 20534 Then
CrystalReport1.Action = 1
         End If
#End If

The error trapping code is only run if the fDebug variable is set to True. Before compiling your application to distribute to users, set fDebug to False. Your application will then not run the debugging code in the compiled executable.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial

Error: 20534 "Error detected by database DLL"
when using an alias
A report is created off a Microsoft SQL Server database and is previewed at
runtime using the Crystal Report Engine Automation Server (Cpeaut32.dll 32-
bit, Cpeaut16.dll 16-bit).
The location of the table is set to a temporary table using the 'Location' property
of the 'DatabaseTable' object. When the report is previewed the following errors
General SQL Server Error: Check messages from SQL Server
<followed by>
Runtime error 20534
Error detected by database DLL
The syntax of the 'Location' property for setting the table location is correct. The
temporary table has the same structure as the original and the location of the
temp table is fully qualified.
For example:
'pubs = the database
'joe = the owner
'table1 = the table
Report.Database.Tables(1).Location = "pubs.joe.table1"
The error occurs due to the owner of the temporary table being an alias of the
default owner. For example, if the default owner were 'dbo', then to resolve the
error, you would specify the default database owner when setting the 'Location'
'pubs = the database
'dbo = the owner
'table1 = the table
Report.Database.Tables(1).Location = "pubs.dbo.table1"
An alias is a database username that is shared by several login IDs. An alias
allows you to treat more than one person as the same user inside a database,
giving all of them the same permissions. A common use for aliases is to allow
several users to assume the role of database owner (DBO).
Creating a table under an alias does not make the alias the owner of the table.
For more information on changing the database and table location for a SQL
database at runtime please refer to Knowledge Base articles C2001075 and
C2000957. These can be found at
Previous Article ID: c2002269
CompTIA Network+

Prepare for the CompTIA Network+ exam by learning how to troubleshoot, configure, and manage both wired and wireless networks.


When generating reports I get the following error '20500 "Not Enough Memory For Operation"' or 20534 'Error detected by database DLL'.
Why does this occur?
This typically occurs when there are multiple Microsoft Database System files found on the system.

How do I fix it?
Download and install the Seagate Crystal Reports Secured Database Registry Utility. Follow the instructions found on the download page.
Dont simply make it exe and distribute, use setup and deployment wizard to deploy your project with what it needs. VB runtime, crytal report dlls, and others will be included in your setup program.
This question has been classified as abandoned.  I will make a recommendation to the moderators on its resolution in approximately one week.  I would appreciate any comments by the experts that would help me in making a recommendation.

It is assumed that any participant not responding to this request is no longer interested in its final deposition.

If the asker does not know how to close the question, the options are here:

EE Cleanup Volunteer
No comment has been added lately, so it's time to clean up this TA.
I will leave the following recommendation for this question in the Cleanup topic area:

Split: CrazyOne {http:#8493774} & iozturk {http:#8497115}

Please leave any comments here within the next seven days.

EE Cleanup Volunteer
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.