Oracle
 sql >> база данни >  >> RDS >> Oracle

Защо получавам грешка при форматиране:Свойството е „v$session.program“, свързващо се с Oracle?

Разбрахме го. Името на нашето приложение беше един знак твърде дълго:беше 49 знаци вместо 48 или по-малко.

Ето списък на v$session свойства и техните ограничения на дължината:

  • v$session.machine :64
  • v$session.iname :без ограничение
  • v$session.ename :без ограничение
  • v$session.process :24
  • v$session.program :48
  • v$session.terminal :30
  • v$session.osuer :30

Освен това нито едно от свойствата не може да съответства на този регулярен израз:.*[\00\(\)].* , което според мен означава без скоби.

Ако получавате грешката и искате да видите кода, просто добавете точка на прекъсване на изключение във вашата IDE за SQLException . Трябва да завършите в клас, наречен T4CConnection.class .

Ето декомпилирания код за метода, 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. apt-get инсталирането на oracle java 7 спря да работи

  2. Oracle Concurrent Manager – CP анализатор за E-Business Suite

  3. SQL (ORACLE):ORDER BY и LIMIT

  4. Трябва ли да посочим не null за първичен ключ? Oracle/SQL

  5. Не може да се свърже с oracle 11g чрез java