
Guten Abend, einer unserer Kunden verwendet einen MS SQL 2005 Server für die Verwaltung der Agents. (OTRS 2.3.4 auf Debian 5.0) Das DB-Layout und die Abfrage entsprechen (wen wundert's) denen einer MySQL-Installation, trotzdem schlägt der Login fehl. Wir haben das Problem soweit eingrenzen können, dass es offensichtlich am Perl DBI-Modul scheitert. Die Kommunikation zwischen OTRS und der MS SQL läuft ja über ODBC, daher haben wir hier einmal ein bißchen Debugging betrieben. Hier zunächst eiin Ausschnitt aus der /var/log/apache/error.log, der unserer Meinung nach die Enstehung des Fehlers zeigt: [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] 'SELECT id FROM valid WHERE name = 'valid'', referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] ) thr#817b008, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] SQLPrepare returned 0, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] , referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] dbd_st_prepare'd sql f144429160, ExecDirect=0, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] \tSELECT id FROM valid WHERE name = 'valid', referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] <- prepare, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] =, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] DBI::st=HASH(0x89dc120), referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] at DB.pm line 552 via at Valid.pm line 120, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] -> execute , referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] for DBD::ODBC::st (DBI::st=HASH(0x89dc120), referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] ~0x89d3888, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] ) thr#817b008, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] dbd_st_execute (for hstmt 144429160 before)..., referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] dbd_error: err_rc=0 rc=0 s/d/e: 144429160/144255992/143964312, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] dbd_error: err_rc=0 rc=0 s/d/e: 0/144255992/143964312, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] dbd_error: err_rc=0 rc=0 s/d/e: 0/0/143964312, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] dbd_describe sql 144429160: num_fields=1, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] col 1: SMALLINT (5) len= 2 disp= 7, prec= 5 scale=0, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] col 1: 'id' sqltype=SMALLINT, ctype=SQL_C_CHAR, maxlen=7, (dp = 0, cp = 0), referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] dbd_describe failed, dbd_st_execute #2...!, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] <- execute, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] =, referer: http://otrs.dev.xxxxx.de/otrs/index.pl [Fri Jun 05 12:05:24 2009] [error] [client 10.45.60.13] -1, referer: http://otrs.dev.xxxxx.de/otrs/index.pl Kann jemand etwas mit den dbd_error Meldungen bzw. mit dem "dbd_describe failed" etwas anfangen? Hier auch noch ein paar Zeilen aus dem odbc Trace: [ODBC][30435][SQLPrepare.c][189] Entry: Statement = 0x89f1108 SQL = [SELECT pw, id FROM users WHERE valid_id IN ( 1 ) AND login = 'root@localhost'][length = 82] [ODBC][30435][SQLPrepare.c][364] Exit:[SQL_SUCCESS] [ODBC][30435][SQLFreeHandle.c][365] Entry: Handle Type = 3 Input Handle = 0x89bd0a0 [ODBC][30435][SQLFreeHandle.c][462] Exit:[SQL_SUCCESS] [ODBC][30435][SQLFreeStmt.c][140] Entry: Statement = 0x89f1108 Option = 3 [ODBC][30435][SQLFreeStmt.c][246] Exit:[SQL_SUCCESS] [ODBC][30435][SQLExecute.c][183] Entry: Statement = 0x89f1108 [ODBC][30435][SQLExecute.c][344] Exit:[SQL_SUCCESS] [ODBC][30435][SQLError.c][342] Entry: Statement = 0x89f1108 SQLState = 0xbf8f0bca Native = 0xbf8f0bd4 Message Text = 0xbf8f09ca Buffer Length = 511 Text Len Ptr = 0xbf8f0bda [ODBC][30435][SQLError.c][379] Exit:[SQL_NO_DATA] Warum auf einmal SQL_NO_DATA? Danke für jeden Hinweis oder Tipp. Stefan