A recurring question on the forums is about problems when trying to setup a native access (MySQL, MSSQL, PostgresSQL, etc). The error codes can differ, but the questions are always the same and I'm going to list here the different causes and their solutions :
- The client DLL is missing. Installing the native access provided by PCSoft is not enough: you also need to install the client library provided with the database to access. This DLL is NOT installed with the native access for multiple reasons (licensing rights, versions, etc.). You will have top obtain it from the Database creator, although it's very often available in a subdirectory of the DB engine.
- The client DLL was installed, but not at the right place. Although the help tells you that you can put it in the path, it does NOT always work that way. One way that seems to always work, though, is to place it WITH the WinDev DLLs called by your program. It will be your job to find where those are.
- The client DLL installed is not the right version. It is more recent than the DB engine (and the engine doesn't like it) or it's too recent for the native access. Sometime, you'll have to try out a few before you find the right match.
- You have a 32 bits/64 bits conflict: THE WHOLE CHAIN (WinDev program or test mode, native access, client DLL) has to be EITHER in 32 bits OR in 64 bits, but you can NOT mix and match.
- Your problem is happening only in EXE mode: you probably generated the exe using the 'Use the framework included in the executable' option. In that mode native accesses are NOT supported.
The secondary question : Can I install the client DLL automatically with my program : YES and NO! Technically, it is always possible to install it but you may have a versionning problem with the DB installed at the customer's. Legally, not always : Some licenses says that the DB is free if installed by the customer, but if YOU install the client DLL with your application, you have to buy a DB license.