MS SQL Server 2005 als Kundenbackend anbinden?

Hilfe zu Znuny Problemen aller Art
Locked
bschuette
Znuny newbie
Posts: 4
Joined: 22 Oct 2008, 09:17

MS SQL Server 2005 als Kundenbackend anbinden?

Post by bschuette »

Hallo zusammen,

wir würden gerne OTRS als Ticketsystem testen und meine Versuche OTRS an eine MS SQL Testdatenbank als Kundenbackend anzubinden verliefen bislang leider ohne großen Erfolg :(

Meine Konfiguration: OTRS-2.3.3 auf Debian Etch 4.0

Ich habe die ODBC Treiber (FreeTDS) auf meinem Debian System erfolgreich installieren und konfigurieren können:
isql TEST_DB SERVICE service
funktioniert und ich kann mittels sql-statements die Testdatenbank interviewen.

Nun habe ich folgende Eintragungen in die Config.pm vorgenommen:
*1 $Self->{"Database::Type"} = "mssql";
$Self->{CustomerUser} = {
Name => 'TEST_DB',
Module => 'Kernel::System::CustomerUser::DB',
Params => {
DSN => 'DBI:odbc:TEST_DB',
User => 'SERVICE',
Password => 'service',
Table => 'Customer_User',
},
CustomerKey => 'UserID',
CustomerID => 'Account_Id',
CustomerValid => 'valid_id',
CustomerUserListFields => ['first_name', 'last_name', 'email'],
CustomerUserSearchFields => ['login', 'last_name', 'customer_id'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['email'],
CustomerUserNameFields => ['salutation','first_name','last_name'],
CustomerUserEmailUniqCheck => 1,
ReadOnly => 1,
Map => [
[ 'UserSalutation', 'Salutation', 'salutation', 1, 0, 'var', '', 0 ],
[ 'UserFirstname', 'Firstname', 'first_name', 1, 1, 'var', '', 0 ],
[ 'UserLastname', 'Lastname', 'last_name', 1, 1, 'var', '', 0 ],
[ 'UserLogin', 'UserID', 'login', 1, 1, 'var', '', 0 ],
[ 'UserPassword', 'Password', 'pw', 0, 1, 'var', '', 0 ],
[ 'UserEmail', 'Email', 'email', 0, 1, 'var', '', 0 ],
[ 'UserEmail', 'Email', 'email', 1, 1,
'var','$Env{"CGIHandle"}?Action=AgentTicketCompose&ResponseID=1&TicketID=$Data{"TicketID"}&ArticleID=$Data{"ArticleID"}', 0 ],
[ 'UserCustomerID', 'CustomerID', 'customer_id', 0, 1, 'var', '', 0 ],
[ 'UserCustomerIDs', 'CustomerIDs', 'customer_ids', 1, 0, 'var', '', 0 ],
[ 'UserComment', 'Comment', 'comments', 1, 0, 'var', '', 0 ],
[ 'ValidID', 'Valid', 'valid_id', 0, 1, 'int', '', 0 ],
],
Selections => {
UserSalutation => {
'Mr.' => 'Mr.',
'Mrs.' => 'Mrs.',
},
},
};

*1 Außerdem habe ich den am Anfang eingefügten String:
$Self->{"Database::Type"} = "mssql";
hier gefunden: http://www.mail-archive.com/otrs-de@otr ... 09464.html
Bin mir aber nicht sicher, ob ich diesen an der richtigen Stelle oder im richtigen Zusammenhang gesetzt habe...

Leider erhalte ich folgende Fehlermeldung beim Aufrufen der OTRS-Seiten:
install_driver(odbc) failed: Can't locate DBD/odbc.pm in @INC (@INC contains: ../../ /opt/otrs/bin/cgi-bin/../../Kernel/cpan-lib /opt/otrs/bin/cgi-bin/../.. /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . /opt/otrs/bin/cgi-bin/../.. /opt/otrs/bin/cgi-bin/../../Kernel/cpan-lib) at (eval 25) line 3.
Perhaps the DBD::odbc perl module hasn't been fully installed,
or perhaps the capitalisation of 'odbc' isn't right.
Available drivers: DBM, ExampleP, File, Proxy, Sponge, mysql.

Verstehe ich das richtig, dass es keinen ms sql Treiber gibt? Sicherheitshalber habe ich auch /opt/otrs/bin/otrs.checkModules
mit folgendem Ergebnis ausgeführt:
o CGI............................ok (v3.15)
o Date::Pcalc....................ok (v1.2)
o Date::Format...................ok (v2.22)
o DBI............................ok (v1.53)
o DBD::mysql.....................ok (v3.0008)
o Digest::MD5....................ok (v2.36)
o Crypt::PasswdMD5...............ok (v1.3)
o LWP::UserAgent.................ok (v2.033)
o IO::Scalar.....................ok (v2.110)
o IO::Wrap.......................ok (v2.110)
o MIME::Base64...................ok (v3.07)
o Mail::Internet.................ok (v2.04)
o MIME::Tools....................ok (v5.427)
o Net::DNS.......................ok (v0.59)
o Net::POP3......................ok (v2.29)
o Net::POP3::SSLWrapper.......not installed! (not required / for SSL connections)
o Net::IMAP::Simple..............ok (v1.17)
o Net::IMAP::Simple::SSL......not installed! (not required / for SSL connections)
o Net::SMTP......................ok (v2.31)
o Authen::SASL................ok (v2.11)
o Net::LDAP......................ok (v0.33)
o GD.............................ok (v2.41)
o GD::Text....................ok (v0.86)
o GD::Graph...................ok (v1.44)
o GD::Graph::lines............ok (v1.15)
o GD::Text::Align.............ok (v1.18)
Argument "0.71.001" isn't numeric in numeric ge (>=) at /opt/otrs/bin/otrs.checkModules line 211.
o PDF::API2......................ok (v0.71.001)
o Compress::Zlib..............ok (v2.015)
o XML::Parser....................ok (v2.34)

Leider haben mich das Adminhandbuch, das Forum oder Google auch nicht mehr weitergebracht...
Hat vielleicht bereits jemand einen MS SQL Server als Kundenbackend anbinden können und wäre eventuell so freundlich einmal seine Config.pm zu posten?
Vielleicht habe ich auch noch Konfigurationsoptionen übersehen oder vergessen? Für jeden Tipp wäre ich sehr dankbar!!!

Vielen Dank!
bschuette
jojo
Znuny guru
Posts: 15020
Joined: 26 Jan 2007, 14:50
Znuny Version: Git Master
Contact:

MS SQL Server 2005 als Kundenbackend anbinden?

Post by jojo »

Hallo,

Du musst natürlich noch einen Perl Treiber installieren um mit der Datenbank zu sprechen...

Möglichkeiten für MS SQL:

- DBD::Sybase
- DBD::ODBC
"Production": OTRS™ 8, OTRS™ 7, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) and git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com
bschuette
Znuny newbie
Posts: 4
Joined: 22 Oct 2008, 09:17

MS SQL Server 2005 als Kundenbackend anbinden?

Post by bschuette »

Hallo jojo,

"alter Falter!!!", entschuldige bitte die Ausdrucksweise, aber ich muss an dieser Stelle ein Lob loswerden.
Ich habe den Beitrag um 19:05Uhr eingestellt und bereits um 19:08Uhr eine Antwort erhalten. Das nenn' ich echt eine prompte Antwort!
Vielen vielen Dank! Ich werd' mich gleich mal dran machen und mir die Treiber Geschichte mit Perl genauer ansehen!

Ich gebe Rückmeldung, sobald ich mehr weiß...
Danke und Gruß

bschuette
bschuette
Znuny newbie
Posts: 4
Joined: 22 Oct 2008, 09:17

MS SQL Server 2005 als Kundenbackend anbinden?

Post by bschuette »

Hallo zusammen,

sorry für die späte Rückmeldung, aber die Installation des Perl Treibers hat mich einiges an Zeit gekostet. Insgesamt 2x habe ich den Server komplett neu aufgesetzt, da ich durch die Installation von Perl Modulen immer extrem massive Probleme mit OTRS bekam (Abstürze, Nichtfunktionieren etc.).
Ich habe nun DBD::ODBC mit unixODBC und FreeTDS installiert und konfiguriert. Der Zugriff auf meine selbstgebastelte MSSQL Datenbank (enthält nur 1 Tabelle mit folgenden Feldern: UserID, First_Name, Last_Name, Password, EMail, AccountID, Salutation, create_time, create_by, change_time und change_by) funktionierte sogar, allerdings hatte ich in meinen Tests noch ein massives Problem:

Sobald ich in der Config.pm die Zeilen mit der MSSQL-DB Authentifizierung aktiviere, ist das gesamte OTRS EXTREM langsam. Teilweise bekomme ich dann sogar Timeouts beim Aufrufen einiger Seiten. Mindestens aber dauert das Öffnen von Tickets, Aufrufen der Module oder des Adminbereiches pro Klick ab 90 Sekunden aufwärts.. Liegt das an der ODBC-Verbindung??? Ich weiß, dass ODBC nicht die schnellste Datenbankanbindung ist, aber so langsam? Damit wäre natürlich eine produktive Anbindung an eine spätere MS SQL Anbindung mit echten Kundendaten ausgeschlossen. Aber für den Einsatz von OTRS wäre diese leider unabdingbar, denn schließlich will ich später nicht alle Kunden immer in die Datenbank von OTRS pflegen müssen, wenn ohnehin schon eine Kundendatenbank existiert. Im Anhang poste ich noch meine Settings zur DB in der Config.pm, vielleicht habe ich ja auch etwas wichtiges übersehen...

Könnten noch andere von Ihren Performance Erfahrungen mit einer angebundenen MS SQL DB berichten? Vielleicht habt Ihr eine andere Anbindung benutzt? Wenn ja, würde ich mich freuen, wenn Ihr mir diese mitteilen könntet... Vielen Dank schon mal im voraus!

MfG
bschuette

$Self->{"Database::Type"} = "mssql";
$Self->{CustomerUser} = {
Name => 'TESTDB',
Module => 'Kernel::System::CustomerUser::DB',
Params => {
DSN => 'DBI:ODBC:TESTDB,
User => 'user',
Password => 'password',
Table => 'Customer_User',
},
customer uniq id
CustomerKey => 'UserID',
CustomerID => 'Account_Id',
CustomerValid => 'valid_id',
CustomerUserListFields => ['first_name', 'last_name', 'email'],
CustomerUserSearchFields => ['login', 'last_name', 'customer_id'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['email'],
CustomerUserNameFields => ['salutation','first_name','last_name'],
CustomerUserEmailUniqCheck => 1,
ReadOnly => 1,
Map => [
[ 'UserSalutation', 'Salutation', 'salutation', 1, 0, 'var', '', 0 ],
[ 'UserFirstname', 'Firstname', 'First_Name', 1, 1, 'var', '', 0 ],
[ 'UserLastname','Lastname','Last_Name', 1, 1, 'var', '', 0 ],
[ 'UserLogin','Username','UserID',1, 1, 'var', '', 0 ],
[ 'UserPassword','Password','Password',0, 0, 'var', '', 0 ],
[ 'UserEmail','Email','EMail',1, 1, 'var', '', 0 ],
[ 'UserCustomerID', 'CustomerID', 'AccountID', 0, 1, 'var', '', 0 ],
],
Selections => {
UserSalutation => {
'Mr.' => 'Mr.',
'Mrs.' => 'Mrs.',
},
},
};
schorschi
Znuny expert
Posts: 199
Joined: 05 Dec 2007, 12:07

MS SQL Server 2005 als Kundenbackend anbinden?

Post by schorschi »

Hallo,

ich hab nun auch das selbe Problem. Wir haben eine MS SQL 2005 Datenbank mit Kundendaten angebunden und seit dem ist die Performance von OTRS im Keller. Hast du eine Lösung gefunden oder wie hast du das Problem umschifft. Für eine kurze Antwort wäre ich dir dankbar.
Produktivsystem: SuSE Enterprise Server 11 64 Bit Service Pack II || OTRS 3.1.7 | MySQL 5 || LDAP ||
Testsystem: SuSE Enterprise Server 11 64 Bit Service Pack II || OTRS 3.1.8 | MySQL 5 ||
bschuette
Znuny newbie
Posts: 4
Joined: 22 Oct 2008, 09:17

MS SQL Server 2005 als Kundenbackend anbinden?

Post by bschuette »

Hallo & frohes Neues,

leider nein, bislang hatte ich keine Lösung dafür gefunden. Und da das Ganze nur ein Testsystem war und durch betriebliche Gründe das OTRS System bei uns nun ganz weggefallen ist, habe ich mich auch nicht mehr weiter damit beschäftigt...

Solltest Du einen Lösungsweg finden, würde ich mich über ein Posting freuen, denn eventuell wird das Thema in diesem Jahr bei uns erneut angefasst und spätestens dann könnte es wieder interessant werden.

Gruß Birger
schorschi
Znuny expert
Posts: 199
Joined: 05 Dec 2007, 12:07

MS SQL Server 2005 als Kundenbackend anbinden?

Post by schorschi »

Frohes Neues :-)

Danke für die Info. Wir haben das Problem momentan anders gelöst. Momentan lassen wir die MS-SQL DB in eine MySQL DB syncn.
Die ersten Tests sehen gut aus, keinerlei Performance Einbußen. Ist aber eigentlich auch nur ein Workaround. Schöner wäre es direkt bei ODBC auf die MS-SQL DB zuzugreifen - aber naja, man kann nicht alles haben.
Produktivsystem: SuSE Enterprise Server 11 64 Bit Service Pack II || OTRS 3.1.7 | MySQL 5 || LDAP ||
Testsystem: SuSE Enterprise Server 11 64 Bit Service Pack II || OTRS 3.1.8 | MySQL 5 ||
stanhale
Znuny newbie
Posts: 16
Joined: 08 Feb 2010, 12:09
Znuny Version: 2.4.6

MS SQL Server 2005 als Kundenbackend anbinden?

Post by stanhale »

Hallo,

wir fahren schon eine geraume Zeit OTRS mit einer Kundendatenbank auf MSSQL. Probier doch mal die Anbindung über DBI::Sysbase. Unsere Kundendatenbank hat ca. 9500 Einträge und wir haben keinerlei Performanceprobleme:

$Self->{CustomerUser} = {
Name => 'Kundendatenbank',
Module => 'Kernel::System::CustomerUser::DB',
Params => {
# if you want to use an external database, add the
# required settings
DSN => 'DBI:Sybase:',
DSN => 'DBI:Sybase:server=hier freetds-alias;database=datenbankname',
User => 'MSSQL-User',
Password => 'MSSQL-Passwort',
Type => 'mssql',
Table => 'Tabellen- oder Viewname',
}

Gruß

Stefan
Last edited by stanhale on 22 Feb 2010, 17:28, edited 1 time in total.
-----------------------------------------------------------------------------------------------------------------------
Produktivsystem: openSUSE 11.2 32 Bit || OTRS 3.1.5 || MySQL 5 || Apache2 auf VMWare ESXI 5.0
schorschi
Znuny expert
Posts: 199
Joined: 05 Dec 2007, 12:07

MS SQL Server 2005 als Kundenbackend anbinden?

Post by schorschi »

Hm, danke für die Antwort. Werde das mal bei Gelegenheit testen und das Ergebis hier posten.
Vielen Dank.
Schorschi
Produktivsystem: SuSE Enterprise Server 11 64 Bit Service Pack II || OTRS 3.1.7 | MySQL 5 || LDAP ||
Testsystem: SuSE Enterprise Server 11 64 Bit Service Pack II || OTRS 3.1.8 | MySQL 5 ||
FlavioB
Znuny newbie
Posts: 18
Joined: 08 Nov 2010, 16:55
Znuny Version: 2.4.9

Re: MS SQL Server 2005 als Kundenbackend anbinden?

Post by FlavioB »

stanhale wrote:Hallo,

wir fahren schon eine geraume Zeit OTRS mit einer Kundendatenbank auf MSSQL. Probier doch mal die Anbindung über DBI::Sysbase. Unsere Kundendatenbank hat ca. 9500 Einträge und wir haben keinerlei Performanceprobleme:

$Self->{CustomerUser} = {
Name => 'Kundendatenbank',
Module => 'Kernel::System::CustomerUser::DB',
Params => {
# if you want to use an external database, add the
# required settings
DSN => 'DBI:Sybase:',
DSN => 'DBI:Sybase:server=hier freetds-alias;database=datenbankname',
User => 'MSSQL-User',
Password => 'MSSQL-Passwort',
Type => 'mssql',
Table => 'Tabellen- oder Viewname',
}

Gruß

Stefan
Hallo Stefan, ich binde mich hier ein weil ich auch ein OTRS aufbauen will und die Kundendatenbank aus meiner bereits bestehenden MSSQL 2005 Express rausholen.
Da ich seit ein paar Tagen am stöbern bin und nix konktretes erreicht habe, frage ich dich mal ob du eine Art "Walk-through" für mich hast, da ich momentan zwischen ODBC und mysql noch nicht gefunden habe, was effektiv die Datenbank einbinden könnnte.

BTW: wäre es sinnvoll, evtl. auch einfacher einzurichten, die Kundendatenbank in die OTRS-Customer-Datenkbank automatisch (täglich?!) zu synchronisieren?

MfG,
F.
Locked