Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tại sao tôi gặp lỗi định dạng:Thuộc tính là 'v $ session.program' đang kết nối với Oracle?

Chúng tôi đã tìm ra nó. Tên ứng dụng của chúng tôi quá dài một ký tự:đó là 49 ký tự thay vì 48 trở xuống.

Đây là danh sách v$session thuộc tính và giới hạn độ dài của chúng:

  • v$session.machine :64
  • v$session.iname :không giới hạn
  • v$session.ename :không giới hạn
  • v$session.process :24
  • v$session.program :48
  • v$session.terminal :30
  • v$session.osuer :30

Ngoài ra, không thuộc tính nào có thể phù hợp với regex này:.*[\00\(\)].* , mà tôi nghĩ có nghĩa là không có dấu ngoặc đơn.

Nếu bạn gặp lỗi và muốn xem mã, chỉ cần thêm một điểm ngắt ngoại lệ trong IDE của bạn cho SQLException . Bạn sẽ kết thúc trong một lớp có tên là T4CConnection.class .

Đây là mã được dịch ngược cho phương thức, validateConnectionProperties() :

void validateConnectionProperties() throws SQLException {
    super.validateConnectionProperties();
    String var1 = ".*[\\00\\(\\)].*";
    SQLException var2;
    if(this.thinVsessionOsuser == null || !this.thinVsessionOsuser.matches(var1) && this.thinVsessionOsuser.length() <= 30) {
        if(this.thinVsessionTerminal == null || !this.thinVsessionTerminal.matches(var1) && this.thinVsessionTerminal.length() <= 30) {
            if(this.thinVsessionMachine != null && (this.thinVsessionMachine.matches(var1) || this.thinVsessionMachine.length() > 64)) {
                var2 = DatabaseError.createSqlException((OracleConnection)null, 190, "Property is \'v$session.machine\' and value is \'" + this.thinVsessionMachine + "\'");
                var2.fillInStackTrace();
                throw var2;
            } else if(this.thinVsessionProgram == null || !this.thinVsessionProgram.matches(var1) && this.thinVsessionProgram.length() <= 48) {
                if(this.thinVsessionProcess == null || !this.thinVsessionProcess.matches(var1) && this.thinVsessionProcess.length() <= 24) {
                    if(this.thinVsessionIname != null && this.thinVsessionIname.matches(var1)) {
                        var2 = DatabaseError.createSqlException((OracleConnection)null, 190, "Property is \'v$session.iname\' and value is \'" + this.thinVsessionIname + "\'");
                        var2.fillInStackTrace();
                        throw var2;
                    } else if(this.thinVsessionEname != null && this.thinVsessionEname.matches(var1)) {
                        var2 = DatabaseError.createSqlException((OracleConnection)null, 190, "Property is \'v$session.ename\' and value is \'" + this.thinVsessionEname + "\'");
                        var2.fillInStackTrace();
                        throw var2;
                    }
                } else {
                    var2 = DatabaseError.createSqlException((OracleConnection)null, 190, "Property is \'v$session.process\' and value is \'" + this.thinVsessionProcess + "\'");
                    var2.fillInStackTrace();
                    throw var2;
                }
            } else {
                var2 = DatabaseError.createSqlException((OracleConnection)null, 190, "Property is \'v$session.program\' and value is \'" + this.thinVsessionProgram + "\'");
                var2.fillInStackTrace();
                throw var2;
            }
        } else {
            var2 = DatabaseError.createSqlException((OracleConnection)null, 190, "Property is \'v$session.terminal\' and value is \'" + this.thinVsessionTerminal + "\'");
            var2.fillInStackTrace();
            throw var2;
        }
    } else {
        var2 = DatabaseError.createSqlException((OracleConnection)null, 190, "Property is \'v$session.osuser\' and value is \'" + this.thinVsessionOsuser + "\'");
        var2.fillInStackTrace();
        throw var2;
    }
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. phương ngữ ngủ đông cho oracle 12c

  2. ORACLE NLS_LANG

  3. Hàm TRUNC (số) trong Oracle

  4. hỗ trợ nhiều cơ sở dữ liệu cho cùng một classs JPA

  5. ORA-01618