-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
init_oracle_client lib dir with chinese #255
Comments
Does it work if you use non-Chinese characters? Does it work if you set the PATH environment variable (and call init_oracle_client() without any parameters)? |
|
Can you set DPI_DEBUG_LEVEL to 64 (see the doc) and share the log? |
Is it like this ? ((venv) D:\A_projects\dmp_tools>set DPI_DEBUG_LEVEL=64 (venv) D:\A_projects\dmp_tools>echo %DPI_DEBUG_LEVEL% (venv) D:\A_projects\dmp_tools>python
|
Yes, that is what @cjbj meant. I took a quick peek at this. It seems that if you use LoadLibraryA(), even with a simple search name, that the underlying code is incapable of handling paths containing Chinese characters. Doing the same on Linux works as expected. Since this appears to be a Windows limitation it is not a bug in python-oracledb or ODPI-C itself. We may wish to document this limitation but it is unlikely that we can eliminate it. I am not a Windows expert, however, so if you have any suggestions I'd be happy to hear them! |
platform.platform: Windows-10-10.0.17763-SP0
sys.maxsize > 2**32: True
platform.python_version: 3.8.10
oracledb.version: 1.3.2
Is it an error or a hang or a crash?
oracledb.init_oracle_client(lib_dir="D:\哈哈哈哈哈哈哈哈哈哈或或\instantclient_11_2")
Traceback (most recent call last):
File "D:\Python38\lib\code.py", line 90, in runcode
exec(code, self.locals)
File "", line 1, in
File "src\oracledb\impl/thick/utils.pyx", line 458, in oracledb.thick_impl.init_oracle_client
File "src\oracledb\impl/thick/utils.pyx", line 482, in oracledb.thick_impl.init_oracle_client
File "src\oracledb\impl/thick/utils.pyx", line 403, in oracledb.thick_impl._raise_from_info
oracledb.exceptions.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found". See https://python-oracledb.readthedocs.io/en//latest/user_guide/initialization.html#setting-the-oracle-client-library-directory for help
What error(s) or behavior you are seeing?
init_oracle_client lib dir with chinese
How to solve the problem?
The text was updated successfully, but these errors were encountered: