NLS_DATE_FORMAT mit Oracle-DB

Hilfe zu Znuny Problemen aller Art
Locked
AtWork
Znuny newbie
Posts: 5
Joined: 17 Nov 2009, 09:20
Znuny Version: 2.4.5

NLS_DATE_FORMAT mit Oracle-DB

Post by AtWork »

Hallo.

Ich habe folgendes Problem:
In unserer Oracle-Datenbank (11.1.07) habe ich das Datumsformat "NLS_DATE_FORMAT" == "DD.MM.YYYY HH24:MI:SS" (select * from NLS_SESSION_PARAMETERS)

Offensichtlich kommt OTRS damit nicht klar. Zudem ist leider in den DB-Checks (Support Assessment) unter /opt/otrs/Kernel/System/Support/Database/oracle.pm dies sogar hard-gecoded (Zeile 131 in der "sub _NLSDateFormatCheck")
$ENV{NLS_DATE_FORMAT} ne "YYYY-MM-DD HH24:MI:SS"
Check NLS_DATE_FORMAT. Need format 'YYYY-MM-DD HH24:MI:SS' for NLS_DATE_FORMAT (not DD.MM.YYYY HH24:MI:SS). Failed
Dh. diesen Check muss ich ignorieren. :(

Bei einem DB-Insert, z.B. einer neuen Anrede, bekomme ich die Fehlermeldung,
: ORA-01861: Literal stimmt nicht mit Formatzeichenfolge überein (DBD ERROR: error possibly near <*> indicator at char 153 in 'INSERT INTO salutation (name, text, content_type, comments, valid_id, create_time, create_by, change_time, change_by) VALUES (:p1, :p2, :p3, :p4, :p5, <*>'2009-11-17 09:11:06', :p6, '2009-11-17 09:11:06', :p7)'), SQL: 'INSERT INTO salutation (name, text, content_type, comments, valid_id, create_time, create_by, change_time, change_by) VALUES (?, ?, ?, ?, ?, '2009-11-17 09:11:06', ?, '2009-11-17 09:11:06', ?)'
da irgendwo das Datumsformat noch hinterlegt sein muß, obwohl ich die Anweisungen unter http://faq.otrs.org/otrs/public.pl?Acti ... &ItemID=59 schon durchgeführt habe.
Offensichtlich hat das Skript (scripts/database/initial_insert.sql) noch das Datumsformat korrekt inserted, denn die Prüfung über das Select-Statement liefert den Fehler:
Check NLS_DATE_FORMAT by using SELECT statement. 03.11.2009 15:23:11 is not the right format 'yyyy-mm-dd hh:mm::ss' (please check $ENV{NLS_DATE_FORMAT}). Failed
Meine Config.pm sieht so aus:
$ENV{NLS_DATE_FORMAT} = 'DD.MM.YYYY HH24:MI:SS';
$ENV{NLS_LANG} = "german_germany.we8iso8859p1";

$ENV{ORACLE_BASE} = '/opt/oracle';
$ENV{ORACLE_HOME} = $ENV{ORACLE_BASE} . '/product/11g';
$ENV{TNS_ADMIN} = $ENV{ORACLE_HOME} . '/network/admin';
$ENV{LD_LIBRARY_PATH} = $ENV{ORACLE_HOME} . '/lib:' . $ENV{ORACLE_HOME} . '/ctx/lib';
$ENV{CLASSPATH} = $ENV{ORACLE_HOME} . '/JRE:' . $ENV{ORACLE_HOME} . '/jlib:' . $ENV{ORACLE_HOME} . '/rdbms/jlib:' . $ENV{ORACLE_HOME} . '/network/jlib';

# ---------------------------------------------------- #
# database settings #
# ---------------------------------------------------- #
# DatabaseHost
# (The database host.)
$Self->{DatabaseHost} = 'xxx';
# Database
# (The database name.)
$Self->{Database} = 'xxx';
# DatabaseUser
# (The database user.)
$Self->{DatabaseUser} = 'xxx';
# DatabasePw
# (The password of database user. You also can use bin/CryptPassword.pl
# for crypted passwords.)
$Self->{DatabasePw} = 'xxx';
# DatabaseDSN
# (The database DSN for MySQL ==> more: "man DBD::mysql")
# $Self->{DatabaseDSN} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost};";

# (The database DSN for PostgreSQL ==> more: "man DBD::Pg")
# if you want to use a local socket connection
# $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};";
# if you want to use a tcpip connection
# $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};host=$Self->{DatabaseHost};";
$Self->{DatabaseDSN} = "DBI:Oracle:sid=" . $Self->{'Database'} . ";host=" . $Self->{'DatabaseHost'} . ";port=1521;";
Meine /etc/bash.bashrc.local (SLES-11) sieht so aus:
export NLS_DATE_FORMAT="DD.MM.YYYY HH24:MI:SS"
export NLS_LANG="german_germany.we8iso8859p1"
export ORACLE_BASE="/opt/oracle"
export ORACLE_HOME=$ORACLE_BASE+"/product/11g"
export TNS_ADMIN=$ORACLE_HOME+"/network/admin"
export LD_LIBRARY_PATH=$ORACLE_HOME+"/lib:"+$ORACLE_HOME+"/ctx/lib"
export CLASSPATH=$ORACLE_HOME+"/JRE:"+$ORACLE_HOME+"/jlib:"+$ORACLE_HOME+"/rdbms/jlib:"+$ORACLE_HOME+"/network/jlib"
Kann mir jemand hierbei weiterhelfen?

Danke + Gruß
Marcus
Produktiv: OTRS 2.4.5, OS: SLES-11, Apache2/MySQL
Joyner
Znuny expert
Posts: 185
Joined: 08 Feb 2008, 14:49
Znuny Version: 2.2.8
Location: Berlin

NLS_DATE_FORMAT mit Oracle-DB

Post by Joyner »

Hallo,

bitte 1. Signatur füllen, 2. Forensuche benutzen.

Eine Antwort könntest du bereits hier finden: http://www.otrs-forum.de/viewtopic.php?f=17&t=3840

mfg
Sebastian
Produktiv: OTRS 2.4.7, CiCS 3.1.5, Eigenentwicklungen
β-Testing/Mirror: OTRS 2.4.7, ITSM 2.0.2, CiCS(::ITSM) 3.1.5 (2.1.6), Eigenentwicklungen OS: Win2003, XAMPP, Apache2.2/MySQL 5, Trac/SVN
AtWork
Znuny newbie
Posts: 5
Joined: 17 Nov 2009, 09:20
Znuny Version: 2.4.5

NLS_DATE_FORMAT mit Oracle-DB

Post by AtWork »

Danke für den Link.
Den Beitrag hatte ich natürlich schon gefunden, sowie diverse andere auch.
Leider haben die mir alle nicht geholfen.
Ich möchte/muss auch das Datumsformat "DD.MM.YYYY HH24:MI:SS" nutzen.
Produktiv: OTRS 2.4.5, OS: SLES-11, Apache2/MySQL
Locked