Mật khẩu DB2 có các ký tự đặc biệt


7


Xác thực DB2 của chúng tôi được tích hợp với thư mục hoạt động, do đó mật khẩu được phép được kiểm soát bởi chính sách của nó. Chúng tôi có một số người dùng không thể kết nối với cơ sở dữ liệu thông qua Trình chỉnh sửa lệnh hoặc màn hình Truy vấn trong Trung tâm điều khiển. Lỗi là như sau:

SQL0104N Một mã thông báo bất ngờ "!" đã được tìm thấy sau "".  
Mã thông báo dự kiến ​​có thể bao gồm: "MỚI".
 SQLSTATE: 42601
 mã số: -104

Họ có thể kết nối thông qua Bộ xử lý dòng lệnh khi không bao gồm mật khẩu trong câu lệnh kết nối.
Vấn đề đang ảnh hưởng đến tất cả người dùng với một số ký tự đặc biệt trong mật khẩu của họ. Chúng tôi đã cho họ thử đưa ra câu lệnh kết nối mà không có mật khẩu trong Trình chỉnh sửa lệnh nhưng nó không hoạt động.
Phiên bản chính xác của cơ sở dữ liệu là DB2 / AIX64 9.5.4
Có cách nào để họ sử dụng các công cụ này ngoài việc họ thay đổi mật khẩu không?
Cảm ơn


Cũng có thể đáng chú ý rằng IBM đang phản đối các công cụ GUI (Trung tâm điều khiển và các công cụ khác) được đóng gói với DB2. Hiện tại họ đang khuyên bạn nên sử dụng một trong hai dòng lệnh hoặc tải xuống IBM Data Studio có thể tải xuống miễn phí , nếu bạn muốn sử dụng các công cụ GUI.
Chris Aldrich

Câu trả lời:


5

Đây là một lỗi lâu đời trong các công cụ GUI.

Tuy nhiên, miễn là mật khẩu của bạn không chứa ký tự trích dẫn kép ("), thì bạn có thể giải quyết vấn đề này bằng cách đặt dấu ngoặc kép quanh mật khẩu để kết nối.

connect to sample user test using test!
--> SQL0104N

connect to sample user test using "test!"
--> connection succeeded.

Phương pháp này cũng sẽ hoạt động nếu các công cụ GUI nhắc bạn nhập mật khẩu bằng hộp thoại.

Nếu bạn có mật khẩu với dấu ngoặc kép trong đó, bạn có thể không gặp may. Bạn có thể mở một vé với sự hỗ trợ của IBM DB2 và / hoặc chỉ cần thay đổi mật khẩu.


Cảm ơn! đã làm việc Nếu bất cứ ai đi kèm với mật khẩu "trong đó, chúng tôi sẽ yêu cầu anh ấy thay đổi mật khẩu, nhưng tôi không hy vọng nó sẽ quá thường xuyên.
Guillermo Vasconcelos

3

Đính kèm mật khẩu của bạn với các ký tự đặc biệt trong cặp Singlequote, Doublequote. Ví dụ: Passwd = '"kiểm tra!"'

Điều này sẽ làm việc chắc chắn.


0

Viết một kịch bản với #!/bin/kshdòng đầu tiên. Thoát mật khẩu với sự kết hợp của dấu ngoặc đơn, cặp dấu ngoặc kép, khai báo dòng đầu tiên là quan trọng.

#!/bin/ksh

db2 connect to &db2name& user &username& using "'&password&'"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.