Skip to content
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

The windows client can't connect to the linux firebird server when the windows user name has non asci characters (user name is "Felhasználó") [CORE5775] #6038

Closed
firebird-automations opened this issue Mar 15, 2018 · 14 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Pósa József (posaj)

Error:

Invalid connection string
Cannot transliterate character between character sets
Invalid or incomplete multibyte or wide character

With another user (user name: "admin") on same machine is ok.

====== Test Details ======

(at least can not be tested on current box which is used for all tests)

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

Does the Windows client use fbclient version 3.0 or some earlier version?

@firebird-automations
Copy link
Collaborator Author

Commented by: Pósa József (posaj)

Thank you for the quick response.
The client application is Delphi with dbExpress. Connection params conatains ServerCharSet=WIN1250.
The client library is gds32.dll and fbclient.dll ver 3.0.32900 in C:\Windows\SysWOW64.

@firebird-automations
Copy link
Collaborator Author

Commented by: Pósa József (posaj)

The client 2.0.3 gds32.dll also works.

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

What does it mean - 'also works'? As far as I understood fbclient.dll 3.0.32900 does NOT work for you.
So what is 2.0 client behavior - can it connect to linux server 3.0 with non-ascii OS login or not? (Certainly, server's firebird.conf should be tuned to use old client).

@firebird-automations
Copy link
Collaborator Author

Commented by: Pósa József (posaj)

Sorry for the mistake.

The server is linux firebird server 3.0.3, with default firebird user/password. Firebird.conf file is modified for accept conenction from older clients.

If the windows user name is "Felhasználó", then windows 2.0.3 gds32.dll client can connect to this server, but the windows 3.0.3 gds32.dll client (same PC) can't. If the windows user name is "admin", then everything works fine.

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

What happens if you try to connect to that server from linux, i.e. something like
isql -z -user admin -pas wrong localhost:employee
is executed on linux console? And next with Felhasználó:
isql -z -user Felhasználó -pas wrong localhost:employee

I know that this is FB user, not OS login, but encoding of them to be handled internally in same way.

@firebird-automations
Copy link
Collaborator Author

Commented by: Pósa József (posaj)

Results:

I.) on linux:
--------------

1.)
/opt/firebird/bin/isql -z -user SYSDBA -pas masterkey localhost:/home/interbase/data/cor_mpro.fdb
ISQL Version: LI-V3.0.3.32900 Firebird 3.0
Server version:
LI-V3.0.3.32900 Firebird 3.0
LI-V3.0.3.32900 Firebird 3.0/tcp (fb3-mprofilsrv)/P15
LI-V3.0.3.32900 Firebird 3.0/tcp (fb3-mprofilsrv)/P15
Database: localhost:/home/interbase/data/cor_mpro.fdb, User: SYSDBA

2.)
/opt/firebird/bin/isql -z -user admin -pas wrong localhost:/home/interbase/data/cor_mpro.fdb
ISQL Version: LI-V3.0.3.32900 Firebird 3.0
Statement failed, SQLSTATE = 28000
Your user name and password are not defined. Ask your database administrator to set up a Firebird login.

3.)
/opt/firebird/bin/isql -z -user Felhasználó -pas wrong localhost:/home/interbase/data/cor_mpro.fdb
ISQL Version: LI-V3.0.3.32900 Firebird 3.0
Statement failed, SQLSTATE = 22018
Bad international character in tag isc_dpb_user_name
-Cannot transliterate character between character sets
-Invalid or incomplete multibyte or wide character

II.) on windows (with logged windows user "admin"):
---------------------------------------------------------------------

1.)
C:\Users\admin>"C:\Program Files (x86)\Firebird\Firebird_3_0\isql.exe" -z -user SYSDBA -pas masterkey 192.168.1.248:/home/interbase/data/cor_mpro.fdb
ISQL Version: WI-V3.0.3.32900 Firebird 3.0
Server version:
LI-V3.0.3.32900 Firebird 3.0
LI-V3.0.3.32900 Firebird 3.0/tcp (fb3-mprofilsrv)/P15:C
WI-V3.0.3.32900 Firebird 3.0/tcp (1szamitogep)/P15:C
Database: 192.168.1.248:/home/interbase/data/cor_mpro.fdb, User: SYSDBA

2.)
C:\Users\admin>"C:\Program Files (x86)\Firebird\Firebird_3_0\isql.exe" -z -user admin -pas wrong 192.168.1.248:/home/interbase/data/cor_mpro.fdb
ISQL Version: WI-V3.0.3.32900 Firebird 3.0
Statement failed, SQLSTATE = 28000
Your user name and password are not defined. Ask your database administrator to set up a Firebird login.

3.)
C:\Users\admin>"C:\Program Files (x86)\Firebird\Firebird_3_0\isql.exe" -z -user Felhasználó -pas wrong 192.168.1.248:/home/interbase/data/cor_mpro.fdb
ISQL Version: WI-V3.0.3.32900 Firebird 3.0
Statement failed, SQLSTATE = 28000
Your user name and password are not defined. Ask your database administrator to set up a Firebird login.

III.) on windows (with logged windows user "Felhasználó"):
------------------------------------------------------------------------------

1.)
C:\Users\Felhasználó>"C:\Program Files (x86)\Firebird\Firebird_3_0\isql.exe" -z -user SYSDBA -pas masterkey 192.168.1.248:/home/interbase/data/cor_mpro.fdb
ISQL Version: WI-V3.0.3.32900 Firebird 3.0
Statement failed, SQLSTATE = 08001
Invalid connection string
-Cannot transliterate character between character sets
-Invalid or incomplete multibyte or wide character

2.)
C:\Users\Felhasználó>"C:\Program Files (x86)\Firebird\Firebird_3_0\isql.exe" -z -user admin -pas wrong 192.168.1.248:/home/interbase/data/cor_mpro.fdb
ISQL Version: WI-V3.0.3.32900 Firebird 3.0
Statement failed, SQLSTATE = 08001
Invalid connection string
-Cannot transliterate character between character sets
-Invalid or incomplete multibyte or wide character

3.)
C:\Users\Felhasználó>"C:\Program Files (x86)\Firebird\Firebird_3_0\isql.exe" -z -user Felhasználó -pas wrong 192.168.1.248:/home/interbase/data/cor_mpro.fdb
ISQL Version: WI-V3.0.3.32900 Firebird 3.0
Statement failed, SQLSTATE = 08001
Invalid connection string
-Cannot transliterate character between character sets
-Invalid or incomplete multibyte or wide character

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

What locale is active on linux? (I need an output of command locale).

@firebird-automations
Copy link
Collaborator Author

Commented by: Pósa József (posaj)

root@fb3-mprofilsrv:/home/itc#⁠ locale
LANG=C
LANGUAGE=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

With C (or pure ascii) locale it's normal behavior - in order to be able to support non-ascii symbols you need to install locale supporting them, something from UTF8 group is highly recommended.

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Won't Fix [ 2 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: Pósa József (posaj)

Thank you, it works!

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: No test => Cannot be tested

Test Details: (at least can not be tested on current box which is used for all tests)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant