The forum will be down for maintenance at some point from Friday, November 16 at 19:00 EDT until Sunday, November 18 at 23:59 EDT. Downtime will be minimized but the exact timing is unknown.

At every start of a .net program using the .net driver for SQLA the file dbdata16.dll is written again. This will usually be checked by any anti virus software. On a server system with multiple background programs this behavior generates an unnecessary workload.

Just a sidenote: even when the DLL is already loaded, the programs will search for it afterwards in the GAC.


Feature request: Only write dbdata16.dll when it is necessary (e.g. an update, or file is not existing)

asked 11 May '15, 03:51

Martin's gravatar image

Martin
8.6k119153237
accept rate: 14%

I'd think that this is at least documented behaviour:

The SQL Anywhere .NET Data Provider dbdata DLL

When the SQL Anywhere .NET Data Provider is first loaded by a .NET application (usually when making a database connection using SAConnection), it unpacks a DLL that contains the provider's unmanaged code. The file dbdata16.dll is placed by the provider in a subdirectory of the directory identified using the following strategy. [...]

(11 May '15, 06:10) Volker Barth
Replies hidden

I know, therefore I asked for a feature change

(13 May '15, 05:22) Martin

Re: Just a sidenote: even when the DLL is already loaded, the programs will search for it afterwards in the GAC.

I cannot see this behavior.

(07 Dec '17, 10:10) JBSchueler

A fix is forthcoming that will change this behavior. If the dbdata DLL is present, the provider will load it and do a version check. If that passes, it will use it. If not, then it will try to delete it, and then move on.

Tip: Currently, the provider attempts to delete the DLL first and, if this fails, then it will load it and check the version. So if you make the DLL read-only, you will get the behaviour you are looking for. Strange but true.

permanent link

answered 07 Dec '17, 10:16

JBSchueler's gravatar image

JBSchueler
2.2k2939
accept rate: 16%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×233
×61
×11

question asked: 11 May '15, 03:51

question was seen: 2,385 times

last updated: 07 Dec '17, 10:16