Problems between Oracle 32-bit and 64 bit versions


Previously encountered a series of problems, the results of the 32-bit and 64 bit Oracle are installed.

However, because the DLL of the project is 32-bit, there will be “failed to load file or assembly” when using 64 bit oracle“ Oracle.DataAccess ”Or one of its dependencies. An attempt was made to load a malformed program. ” This is a mistake.

After using 32-bit Oracle, the error “error while trying to retrieve text for error ora-01804” appears when PLSQL is opened, resulting in the failure to connect to the database.


Both 32-bit and 64 bit Oracle are installed (I don’t know if there is any impact. In fact, only 32-bit Oracle is used when configuring environment variables later, but it turns out that PLSQL needs 64 bit Oracle to connect to the database)

The key is to configure the environment variables according to the method on the Internet. As a result, one of the errors mentioned above will always appear when the project is running and PLSQL connects to the database.

Finally, the problem comes back to the environment variables. Because the project is a 32-bit DLL, the paths are all 32-bit oracle. At this time, the project runs smoothly, but when PLSQL is used to connect to the database, the error “error while trying to retrieve text for error ora-01804” will appear. My solution is to change “oracle” to “oracle”_ Delete the environment variable “home”.



The reason for the error: the original “oracle”_ The variable value of “home” is “D: app, administrator, client, administrator, product, 12.1.0, client”_ This is the path to 32-bit Oracle, causing an error when I used PLSQL to connect to the database. When using the path to 64 bit Oracle, my PLSQL can connect to the database normally. My guess is to delete the environment variable “oracle”_ After “home”, PLSQL will automatically find the appropriate Oracle version to use (at the same time, 64 bit Oracle may be the foreshadowing?).

If this error is still reported when PLSQL connects to the database according to the above method, try to change the environment variable “oracle”_ The variable value of “home” is changed to the path to 64 bit Oracle (mine is “D:: (APP) ﹣ client ﹣ administrator ﹣ product ﹣ 12.1.0 ﹣ client)_ 1\network\admin” )。

Attach my environment variable configuration:

          Path:  D:\app\Administrator\client\Administrator\product\12.1.0\client_1\BIN


Recommended Today

Large scale distributed storage system: Principle Analysis and architecture practice.pdf

Focus on “Java back end technology stack” Reply to “interview” for full interview information Distributed storage system, which stores data in multiple independent devices. Traditional network storage system uses centralized storage server to store all data. Storage server becomes the bottleneck of system performance and the focus of reliability and security, which can not meet […]