Date: Thu, 24 Jan 2008 13:58:42 +0100 (CET)

From: info@timoswelt.info

Subject: [otrs-de] Problem: DSN not found? OTRS per ODBC an MSSQL anbinden

To: otrs-de@otrs.org

 

Hallo Timo,

 

>ich möchte OTRS per ODBC an einen MSSQL (nicht localhost) anbinden.

>Wenn ich CheckDB.pl ausführe, erhalte ich folgende Ausgabe:

 

Die Informationen solltest Du auch in der Log- Datei von OTRS bzw. in der Error- Datei des Apache- Servers finden…

 

>DBI connect('driver={SQLServer};Server=192.168.1.3,1433;database=<dbname>;uid=<username>;pwd=<password>;','otrs',...) >failed: [unixODBC][Driver Manager]Data source name not found, and no default driver specified (SQL-IM002)(DBD: >db_login/SQLConnect err=-1) at /opt/otrs/otrs-2.2.4/Kernel/System/DB.pm line 197

>ERROR: OTRS-CheckDB-10 Perl: 5.8.8 OS: linux Time: Thu Jan 24 11:44:52 2008

 

> Message: [unixODBC][Driver Manager]Data source name not found, and no default driver specified (SQL-IM002)(DBD:  db_login/SQLConnect err=-1)

 

Nachdem nach [unixODBC] noch keine Treiber angegeben ist, wurden Treiber und Quelle von Dir anscheinend noch nicht registriert. Steht später der eingerichtete Treiber mit in der Fehlermeldung, ist wahrscheinlich die Config.pm nicht korrekt.

 

> Traceback (7360):

> Module: Kernel::System::DB::new (v1.75) Line: 174

> Module: ../bin/CheckDB.pl (v1.17) Line: 49

 

> No database connect!

 

> Kann mir jemand helfen?

 

> lg

> Timo

 

 

Das Vorgehen ist hier wie folgt:

-    einen ODBC- Treiber installieren z.B. FreeTDS (wird des Öfteren zur Anbindung an MS SQL empfohlen)

-    über odbcinst oder ODBCConfig erst den ODBC- Treiber registrieren und danach die ODBC- Quellen anlegen

-    mit isql kann man überprüfen, ob die Verbindung über ODBC mittels DSN funktioniert: isql OTRS_DSN User Pw

-    den Aufruf der DB in der Datei Config.pm wie folgt ändern:

o    $Self->{'DatabaseUser'} = 'User';

o    $Self->{'DatabasePw'} = 'Pw';

o    $Self->{DatabaseDSN} = "DBI:ODBC:OTRS_DSN";

o    $Self->{"Database::Type"} = "mssql";

o    $Self->{DatabaseUserTable} = system_user2; /falls Du den Tabellennamen geändert hast

 

Die Kombination Linux – MS SQL ist denke ich eher selten und auch nicht besonders gut dokumentiert. Die im Handbuch beschriebene Config.pm funktioniert nur bei Windows- Systemen. Ich empfehle Dir die GUI- Version für die ODBC- Einrichtung zu nutzen, wenn Du noch nicht sehr viel Erfahrung mit Linux hast.

 

Ich hoffe, ich konnte Dir weiterhelfen!


Michael Kiel