- Notifications
You must be signed in to change notification settings - Fork 16
Closed
Labels
Description
Hi!
What started in a Slack chat grew into this issue :)
I have a test with Russian words in its name. So I expect it to be "Russian" when I call it via cli.
Here's my preset:
- NLS_DATABASE_PARAMETERS:
- NLS_TERRITORY = AMERICA
- NLS_LANGUAGE = AMERICAN
- NLS_CHARACTERSET = CL8ISO8859P5
- NLS_SESSION_PARAMETERS (via DataGrip):
- NLS_LANGUAGE = RUSSIAN
- NLS_TERRITORY = RUSSIA
- Database Version = 12.2.0.1.0
Calling ut.run in DataGrip results in a good output with all my Russian symbols.
Okay, let's proceed with cli:
C:\Users\Shiryaev1-RY>chcp Текущая кодовая страница: 866 C:\Users\Shiryaev1-RY>utplsql.bat info "some_user"/"q1w2e3r4t5y6u7i8o9p0"@local_pdb utPLSQL-cli 3.1.8-SNAPSHOT.local utPLSQL-java-api 3.1.8.546 utPLSQL 3.1.6.2735 Calling as it is:
C:\Users\Shiryaev1-RY>utplsql.bat run "some_user"/"q1w2e3r4t5y6u7i8o9p0"@local_pdb -p=SP.ut_sp_hand_get_reqs.basic_usage -d 2019-11-26 17:54:08 [main] INFO org.utplsql.cli.RunAction - ############# utPLSQL cli ############## # # # utPLSQL-cli 3.1.8-SNAPSHOT.local # # utPLSQL-java-api 3.1.8.546 # # Java-Version: 1.8.0_221 # # ORACLE_HOME: null # # NLS_LANG: null # # # # Thanks for testing! # # # ######################################## 2019-11-26 17:54:08 [main] INFO org.utplsql.cli.RunAction - 2019-11-26 17:54:09 [main] INFO o.u.c.d.TestedDataSourceProvider - Use connection string jdbc:oracle:thin:****/****@local_pdb 2019-11-26 17:54:09 [main] INFO org.utplsql.cli.RunAction - Successfully connected to database. UtPLSQL core: v3.1.6.2735 2019-11-26 17:54:09 [main] INFO org.utplsql.cli.RunAction - Oracle-Version: 12.2.0.1.0 2019-11-26 17:54:10 [main] DEBUG org.utplsql.api.reporter.Reporter - Database-reporter initialized, Type: UT_DOCUMENTATION_REPORTER, ID: 98420D7BA25A031BE053020012ACA88D 2019-11-26 17:54:10 [pool-1-thread-1] INFO org.utplsql.cli.RunTestRunnerTask - Running tests now. 2019-11-26 17:54:10 [pool-1-thread-1] INFO org.utplsql.cli.RunTestRunnerTask - -------------------------------------- 2019-11-26 17:54:10 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - TestRunner initialized 2019-11-26 17:54:10 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running on utPLSQL v3.1.6.2735 2019-11-26 17:54:10 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Initializing reporters 2019-11-26 17:54:11 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running tests simple_payment sp_req_handler_pkg 2019-11-26 17:54:11 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running tests finished. get_reqs_to_process ????? ????????? sp_req_handler_pkg.get_reqs_to_process ???? ???????? ????????????? [,004 sec] Finished in ,028223 seconds 1 tests, 0 failed, 0 errored, 0 disabled, 0 warning(s) 2019-11-26 17:54:11 [main] INFO org.utplsql.cli.RunAction - -------------------------------------- 2019-11-26 17:54:11 [main] INFO org.utplsql.cli.RunAction - All tests done. Nope, didn't work.
Let's try with LC_ALL:
C:\Users\Shiryaev1-RY>set LC_ALL=ru_RU.utf-8 C:\Users\Shiryaev1-RY>utplsql.bat run "some_user"/"q1w2e3r4t5y6u7i8o9p0"@local_pdb -p=SP.ut_sp_hand_get_reqs.basic_usage -d 2019-11-26 17:55:30 [main] INFO org.utplsql.cli.RunAction - ############# utPLSQL cli ############## # # # utPLSQL-cli 3.1.8-SNAPSHOT.local # # utPLSQL-java-api 3.1.8.546 # # Java-Version: 1.8.0_221 # # ORACLE_HOME: null # # NLS_LANG: null # # # # Thanks for testing! # # # ######################################## 2019-11-26 17:55:30 [main] INFO org.utplsql.cli.RunAction - 2019-11-26 17:55:30 [main] INFO o.u.c.d.TestedDataSourceProvider - Use connection string jdbc:oracle:thin:****/****@local_pdb 2019-11-26 17:55:30 [main] INFO org.utplsql.cli.RunAction - Successfully connected to database. UtPLSQL core: v3.1.6.2735 2019-11-26 17:55:30 [main] INFO org.utplsql.cli.RunAction - Oracle-Version: 12.2.0.1.0 2019-11-26 17:55:31 [main] DEBUG org.utplsql.api.reporter.Reporter - Database-reporter initialized, Type: UT_DOCUMENTATION_REPORTER, ID: 9842124F42B6034AE053020012ACF6A3 2019-11-26 17:55:31 [pool-1-thread-1] INFO org.utplsql.cli.RunTestRunnerTask - Running tests now. 2019-11-26 17:55:31 [pool-1-thread-1] INFO org.utplsql.cli.RunTestRunnerTask - -------------------------------------- 2019-11-26 17:55:31 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - TestRunner initialized 2019-11-26 17:55:31 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running on utPLSQL v3.1.6.2735 2019-11-26 17:55:31 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Initializing reporters 2019-11-26 17:55:31 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running tests 2019-11-26 17:55:31 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running tests finished. simple_payment sp_req_handler_pkg get_reqs_to_process ????? ????????? sp_req_handler_pkg.get_reqs_to_process ???? ???????? ????????????? [,004 sec] Finished in ,009586 seconds 1 tests, 0 failed, 0 errored, 0 disabled, 0 warning(s) 2019-11-26 17:55:31 [main] INFO org.utplsql.cli.RunAction - -------------------------------------- 2019-11-26 17:55:31 [main] INFO org.utplsql.cli.RunAction - All tests done. Noooooooope. Okay, let's try with NLS_LANG:
C:\Users\Shiryaev1-RY>set LC_ALL= C:\Users\Shiryaev1-RY>set NLS_LANG=russian_russia.CL8ISO8859P5 C:\Users\Shiryaev1-RY>utplsql.bat run "some_user"/"q1w2e3r4t5y6u7i8o9p0"@local_pdb -p=SP.ut_sp_hand_get_reqs.basic_usage -d 2019-11-26 17:57:39 [main] INFO org.utplsql.cli.RunAction - ################ utPLSQL cli ################ # # # utPLSQL-cli 3.1.8-SNAPSHOT.local # # utPLSQL-java-api 3.1.8.546 # # Java-Version: 1.8.0_221 # # ORACLE_HOME: null # # NLS_LANG: russian_russia.CL8ISO8859P5 # # # # Thanks for testing! # # # ############################################# 2019-11-26 17:57:39 [main] INFO org.utplsql.cli.RunAction - 2019-11-26 17:57:39 [main] DEBUG o.u.c.d.TestedDataSourceProvider - NLS settings: BEGIN EXECUTE IMMEDIATE q'[ALTER SESSION SET NLS_LANGUAGE='russian']'; EXECUTE IMMEDIATE q'[ALTER SESSION SET NLS_TERRITORY='russia']'; END; 2019-11-26 17:57:40 [main] INFO o.u.c.d.TestedDataSourceProvider - Use connection string jdbc:oracle:thin:****/****@local_pdb 2019-11-26 17:57:40 [main] INFO org.utplsql.cli.RunAction - Successfully connected to database. UtPLSQL core: v3.1.6.2735 2019-11-26 17:57:40 [main] INFO org.utplsql.cli.RunAction - Oracle-Version: 12.2.0.1.0 2019-11-26 17:57:40 [main] DEBUG org.utplsql.api.reporter.Reporter - Database-reporter initialized, Type: UT_DOCUMENTATION_REPORTER, ID: 98421A084170039EE053020012AC52B2 2019-11-26 17:57:40 [pool-1-thread-1] INFO org.utplsql.cli.RunTestRunnerTask - Running tests now. 2019-11-26 17:57:40 [pool-1-thread-1] INFO org.utplsql.cli.RunTestRunnerTask - -------------------------------------- 2019-11-26 17:57:40 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - TestRunner initialized 2019-11-26 17:57:40 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running on utPLSQL v3.1.6.2735 2019-11-26 17:57:40 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Initializing reporters 2019-11-26 17:57:40 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running tests 2019-11-26 17:57:40 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running tests finished. simple_payment sp_req_handler_pkg get_reqs_to_process ????? ????????? sp_req_handler_pkg.get_reqs_to_process ???? ???????? ????????????? [,013 sec] Finished in ,015801 seconds 1 tests, 0 failed, 0 errored, 0 disabled, 0 warning(s) 2019-11-26 17:57:40 [main] INFO org.utplsql.cli.RunAction - -------------------------------------- 2019-11-26 17:57:40 [main] INFO org.utplsql.cli.RunAction - All tests done. God, plz! After looking at Oracle NLS stories I decided to do the following:
C:\Users\Shiryaev1-RY>set NLS_LANG=russian_russia.RU8PC866 C:\Users\Shiryaev1-RY>utplsql.bat run "some_user"/"q1w2e3r4t5y6u7i8o9p0"@local_pdb -p=SP.ut_sp_hand_get_reqs.basic_usage -d 2019-11-26 17:59:53 [main] INFO org.utplsql.cli.RunAction - ############## utPLSQL cli ############## # # # utPLSQL-cli 3.1.8-SNAPSHOT.local # # utPLSQL-java-api 3.1.8.546 # # Java-Version: 1.8.0_221 # # ORACLE_HOME: null # # NLS_LANG: russian_russia.RU8PC866 # # # # Thanks for testing! # # # ######################################### 2019-11-26 17:59:53 [main] INFO org.utplsql.cli.RunAction - 2019-11-26 17:59:53 [main] DEBUG o.u.c.d.TestedDataSourceProvider - NLS settings: BEGIN EXECUTE IMMEDIATE q'[ALTER SESSION SET NLS_LANGUAGE='russian']'; EXECUTE IMMEDIATE q'[ALTER SESSION SET NLS_TERRITORY='russia']'; END; 2019-11-26 17:59:54 [main] INFO o.u.c.d.TestedDataSourceProvider - Use connection string jdbc:oracle:thin:****/****@local_pdb 2019-11-26 17:59:54 [main] INFO org.utplsql.cli.RunAction - Successfully connected to database. UtPLSQL core: v3.1.6.2735 2019-11-26 17:59:54 [main] INFO org.utplsql.cli.RunAction - Oracle-Version: 12.2.0.1.0 2019-11-26 17:59:54 [main] DEBUG org.utplsql.api.reporter.Reporter - Database-reporter initialized, Type: UT_DOCUMENTATION_REPORTER, ID: 98422208E89A03F6E053020012AC69AF 2019-11-26 17:59:54 [pool-1-thread-1] INFO org.utplsql.cli.RunTestRunnerTask - Running tests now. 2019-11-26 17:59:54 [pool-1-thread-1] INFO org.utplsql.cli.RunTestRunnerTask - -------------------------------------- 2019-11-26 17:59:54 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - TestRunner initialized 2019-11-26 17:59:54 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running on utPLSQL v3.1.6.2735 2019-11-26 17:59:54 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Initializing reporters 2019-11-26 17:59:55 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running tests 2019-11-26 17:59:55 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running tests finished. simple_payment sp_req_handler_pkg get_reqs_to_process ????? ????????? sp_req_handler_pkg.get_reqs_to_process ???? ???????? ????????????? [,004 sec] Finished in ,007218 seconds 1 tests, 0 failed, 0 errored, 0 disabled, 0 warning(s) 2019-11-26 17:59:55 [main] INFO org.utplsql.cli.RunAction - -------------------------------------- 2019-11-26 17:59:55 [main] INFO org.utplsql.cli.RunAction - All tests done. Well, let's take another shot:
C:\Users\Shiryaev1-RY>set NLS_LANG=russian_cis.CL8MSWIN1251 C:\Users\Shiryaev1-RY>utplsql.bat run "some_user"/"q1w2e3r4t5y6u7i8o9p0"@local_pdb -p=SP.ut_sp_hand_get_reqs.basic_usage -d 2019-11-26 18:03:19 [main] INFO org.utplsql.cli.RunAction - ############## utPLSQL cli ############### # # # utPLSQL-cli 3.1.8-SNAPSHOT.local # # utPLSQL-java-api 3.1.8.546 # # Java-Version: 1.8.0_221 # # ORACLE_HOME: null # # NLS_LANG: russian_cis.CL8MSWIN1251 # # # # Thanks for testing! # # # ########################################## 2019-11-26 18:03:19 [main] INFO org.utplsql.cli.RunAction - 2019-11-26 18:03:19 [main] DEBUG o.u.c.d.TestedDataSourceProvider - NLS settings: BEGIN EXECUTE IMMEDIATE q'[ALTER SESSION SET NLS_LANGUAGE='russian']'; EXECUTE IMMEDIATE q'[ALTER SESSION SET NLS_TERRITORY='cis']'; END; 2019-11-26 18:03:19 [main] INFO o.u.c.d.TestedDataSourceProvider - Use connection string jdbc:oracle:thin:****/****@local_pdb 2019-11-26 18:03:20 [main] INFO org.utplsql.cli.RunAction - Successfully connected to database. UtPLSQL core: v3.1.6.2735 2019-11-26 18:03:20 [main] INFO org.utplsql.cli.RunAction - Oracle-Version: 12.2.0.1.0 2019-11-26 18:03:20 [main] DEBUG org.utplsql.api.reporter.Reporter - Database-reporter initialized, Type: UT_DOCUMENTATION_REPORTER, ID: 98422E48D8890483E053020012ACCC0D 2019-11-26 18:03:20 [pool-1-thread-1] INFO org.utplsql.cli.RunTestRunnerTask - Running tests now. 2019-11-26 18:03:20 [pool-1-thread-1] INFO org.utplsql.cli.RunTestRunnerTask - -------------------------------------- 2019-11-26 18:03:20 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - TestRunner initialized 2019-11-26 18:03:20 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running on utPLSQL v3.1.6.2735 2019-11-26 18:03:20 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Initializing reporters 2019-11-26 18:03:20 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running tests 2019-11-26 18:03:21 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running tests finished. simple_payment sp_req_handler_pkg get_reqs_to_process ????? ????????? sp_req_handler_pkg.get_reqs_to_process ???? ???????? ????????????? [,013 sec] Finished in ,038208 seconds 1 tests, 0 failed, 0 errored, 0 disabled, 0 warning(s) 2019-11-26 18:03:21 [main] INFO org.utplsql.cli.RunAction - -------------------------------------- 2019-11-26 18:03:21 [main] INFO org.utplsql.cli.RunAction - All tests done. Oh, I forgot to switch chcp to 1251. And again...
C:\Users\Shiryaev1-RY>chcp 1251 Текущая кодовая страница: 1251 C:\Users\Shiryaev1-RY>utplsql.bat run "some_user"/"q1w2e3r4t5y6u7i8o9p0"@local_pdb -p=SP.ut_sp_hand_get_reqs.basic_usage -d 2019-11-26 18:03:37 [main] INFO org.utplsql.cli.RunAction - ############## utPLSQL cli ############### # # # utPLSQL-cli 3.1.8-SNAPSHOT.local # # utPLSQL-java-api 3.1.8.546 # # Java-Version: 1.8.0_221 # # ORACLE_HOME: null # # NLS_LANG: russian_cis.CL8MSWIN1251 # # # # Thanks for testing! # # # ########################################## 2019-11-26 18:03:37 [main] INFO org.utplsql.cli.RunAction - 2019-11-26 18:03:37 [main] DEBUG o.u.c.d.TestedDataSourceProvider - NLS settings: BEGIN EXECUTE IMMEDIATE q'[ALTER SESSION SET NLS_LANGUAGE='russian']'; EXECUTE IMMEDIATE q'[ALTER SESSION SET NLS_TERRITORY='cis']'; END; 2019-11-26 18:03:37 [main] INFO o.u.c.d.TestedDataSourceProvider - Use connection string jdbc:oracle:thin:****/****@local_pdb 2019-11-26 18:03:37 [main] INFO org.utplsql.cli.RunAction - Successfully connected to database. UtPLSQL core: v3.1.6.2735 2019-11-26 18:03:37 [main] INFO org.utplsql.cli.RunAction - Oracle-Version: 12.2.0.1.0 2019-11-26 18:03:38 [main] DEBUG org.utplsql.api.reporter.Reporter - Database-reporter initialized, Type: UT_DOCUMENTATION_REPORTER, ID: 98422F56D51D0497E053020012AC7817 2019-11-26 18:03:38 [pool-1-thread-1] INFO org.utplsql.cli.RunTestRunnerTask - Running tests now. 2019-11-26 18:03:38 [pool-1-thread-1] INFO org.utplsql.cli.RunTestRunnerTask - -------------------------------------- 2019-11-26 18:03:38 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - TestRunner initialized 2019-11-26 18:03:38 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running on utPLSQL v3.1.6.2735 2019-11-26 18:03:38 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Initializing reporters 2019-11-26 18:03:38 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running tests 2019-11-26 18:03:38 [pool-1-thread-1] INFO org.utplsql.api.TestRunner - Running tests finished. simple_payment sp_req_handler_pkg get_reqs_to_process ????? ????????? sp_req_handler_pkg.get_reqs_to_process ???? ???????? ????????????? [,004 sec] Finished in ,008281 seconds 1 tests, 0 failed, 0 errored, 0 disabled, 0 warning(s) 2019-11-26 18:03:38 [main] INFO org.utplsql.cli.RunAction - -------------------------------------- 2019-11-26 18:03:38 [main] INFO org.utplsql.cli.RunAction - All tests done. And what about sqlplus?
C:\Users\Shiryaev1-RY>sqlplus some_user/q1w2e3r4t5y6u7i8o9p0@local_pdb SQL*Plus: Release 11.2.0.4.0 Production on Вт Ноя 26 18:11:20 2019 Copyright (c) 1982, 2013, Oracle. All rights reserved. Присоединен к: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> HOST ECHO %NLS_LANG% russian_russia.RU8PC866 SQL> @.[%NLS_LANG%]. SP2-0310: не в состоянии открыть файл ".[russian_russia.RU8PC866]..sql" SQL> set serveroutput on SQL> exec ut.run('SP.ut_sp_hand_get_reqs.basic_usage'); simple_payment sp_req_handler_pkg get_reqs_to_process Тесты процедуры sp_req_handler_pkg.get_reqs_to_process Тест базового использования [.004 sec] Finished in .027698 seconds 1 tests, 0 failed, 0 errored, 0 disabled, 0 warning(s) Процедура PL/SQL успешно завершена. It works just fine! I call ut.run and output is okay! It's in Russian.
Hands down, I don't get how charset stuff works. Any help would be appreciated!