[ERLEDIGT] Re: MS SQL als externes Datenbank-Kunden-Backend

Hilfe zu Znuny Problemen aller Art
Locked
Timbo2013
Znuny newbie
Posts: 20
Joined: 06 Nov 2013, 15:22
Znuny Version: OTRS 3.3.0.beta2
Real Name: Tim
Location: Oldenburg

[ERLEDIGT] Re: MS SQL als externes Datenbank-Kunden-Backend

Post by Timbo2013 »

Hallo zusammen!

Bislang habe ich alle Schwierigkeiten mit der SuFu oder eigener Recherche beheben können, doch jetzt geht es bei mir ans Eingemachte und ich bin mit meinem Latein am Ende:
OTRS 3.3.0.beta2 läuft mit einer PostgreSQL-Datenbank einwandfrei und ich habe über das Admin-Frontend alles gewünschte konfiguriert bekommen. Jetzt möchte ich meine gesammelten Kundendaten (~12.000 Firmen & ~ 60.000 Ansprechpartner) ungern "kopieren" bzw. synchronisieren... Die bereits existierende MS SQL-Datenbank muss als Basis bestehen bleiben, da auch noch andere Dienste darauf zugreifen - und genau so hätte ich das mit dem OTRS auch gerne!
Ich habe zwar schon super tolle Codezeilen ( http://doc.otrs.org/3.3/en/html/external-backends.html ) gefunden, mir die Config.pm / Defaults.pm angeschaut und ich kann mir das so alles wohl auch vorstellen, aber irgendwie fehlt mir hierbei der erste Schritt, der richtige Einstieg oder einfach eine Schritt-für-Schritt-Anleitung.
Muss ich diesen Code an eine bestimmte stelle schreiben (wo?^^) oder eine komplett neue Datei anlegen (und wie rufe ich die Datei/den Code dann auf?) ?!

Gruß,
Tim
Last edited by Timbo2013 on 25 Nov 2013, 12:43, edited 3 times in total.
OTRS 3.3.0.beta2 @ PostgreSQL 9.1 @ Debian 7.2
externes Kundendaten-Backend: MS SQL 10.50.1600.1
wurzel
Znuny guru
Posts: 3273
Joined: 08 Jul 2010, 22:25
Znuny Version: x.x.x
Real Name: Florian

Re: PostgreSQL als Datenbank-Kunden-Backend

Post by wurzel »

Hi,

Das ist relativ einfach.

Postgres DB Server muss natürlich den OTRS erlauben, lesend/schreibend zuzugreifen (vermutlich eher lesend)

Dann konfigurierst Du die Connection zu Postgres das wie hier beschrieben
http://wiki.otterhub.org/index.php?titl ... h_Postgres

allerdings nicht fürs komplette OTRS sondern nur für die CustomerUser Section

Also die "Kombination" aus dem oberen Link und dem von Dir genannten
Allerdings nimm die aktuellset Doku: http://doc.otrs.org/3.3/en/html/external-backends.html

morgen geht die 3.3.x an den Start, nutze am Besten keine Beta :)
...achja, das weisst Du... nicht die Defaults.pm ändern! :D

kopiere die relevanten Stellen aus der Defaults.pm (oder den wikis) in die Config.pm an die
korrekte Stelle. "insert your own configuration" oder so heissts da.

Viele Erfolg!! :)

Flo
OTRS 2025 SILVER (Prod)
OTRS 2025 auf Debian 12 (Test)
Znuny 7.x latest version testing auf Debian 12

-- Ich beantworte keine Forums-Fragen PN - No PN please

I won't answer to unfriendly users any more. A greeting and regards are just polite.
Timbo2013
Znuny newbie
Posts: 20
Joined: 06 Nov 2013, 15:22
Znuny Version: OTRS 3.3.0.beta2
Real Name: Tim
Location: Oldenburg

Re: PostgreSQL als Datenbank-Kunden-Backend

Post by Timbo2013 »

Hallo Flo,

erst einmal vielen Dank für die schnelle und detaillierte Antwort! :D
wurzel wrote: morgen geht die 3.3.x an den Start, nutze am Besten keine Beta :)
Das liegt leider nicht alles so einfach in meiner Hand^^
Bin nur Praktikant, der sich mit dem aufgesetzten System anfreunden soll/muss. Es gibt zwar einen Kollegen, der alle Systeme bislang aufgesetzt hat (angefangen glaube ich bei 3.2.9 und danach über alle Erweiterungen wie KIX und betas...), aber sonst hat er keine Ahnung vom System... Er ist quasi immer nur der Installateur und ich der Konfigurator. :lol:
Ich hätte mich ja auch gerne einmal mit der Installation und dem ganzen Drum und Dran befasst, aber während ich mit System A anfreunde wird bereits System B aufgesetzt usw^^
Aber vielleicht kann ich deinen Rat/Hinweis ja mal in meinen nächsten Zwischenbericht einfließen lassen. =)
wurzel wrote: ...achja, das weisst Du... nicht die Defaults.pm ändern! :D
Sir, ja! Sir!
Mein aller erster Fund zum Thema "Code modifizieren" beinhaltete zwar die Defaults.pm, aber gleich am Anfang der Datei steht ja "Don't edit this file!" und es dauerte auch nicht lange, bis ich etwas fand wie "All changes of this file will be lost after an update!"... Von daher... ;-)

Werde mich dann mal dran setzen und mich erneut melden, ob ich des Konfigurierens mächtig war oder wo ich wieder ins Stocken gerate... 0=)

Schönen Gruß,
Tim
Last edited by Timbo2013 on 14 Nov 2013, 11:05, edited 1 time in total.
OTRS 3.3.0.beta2 @ PostgreSQL 9.1 @ Debian 7.2
externes Kundendaten-Backend: MS SQL 10.50.1600.1
Timbo2013
Znuny newbie
Posts: 20
Joined: 06 Nov 2013, 15:22
Znuny Version: OTRS 3.3.0.beta2
Real Name: Tim
Location: Oldenburg

Re: MS SQL als externes Datenbank-Kunden-Backend

Post by Timbo2013 »

Ich habe es zwar ein Mal geschafft, dass die "normale" DB nicht mehr erreichbar war^^
Aber das war lediglich zum Testen, weil ich bei meinen ganzen anderen Änderungen nie etwas zu sehen bekommen habe... :(

Muss ich eigentlich nach einer Änderung irgendetwas neustarten? Oder werden meine Änderungen sofort übernommen...?!
Habe nämlich noch nicht einmal einen Fehler oder ähnliches zu Gesicht bekommen. Darüber hätte ich mich ehrlich gesagt gefreut, weil ich dann sehen könnte: "Ok, das war falsch!" :D

Kann ja mal meinen editierten Teil der Config.pm posten:

Code: Select all

# ---------------------------------------------------- #
# insert your own config settings "here"               #
# config settings taken from Kernel/Config/Defaults.pm #
# ---------------------------------------------------- #

$Self->{CustomerCompany} = {
	Name   => 'Test_1337',
	Module => 'Kernel::System::CustomerCompany::DB',
	Params => {
		# if you want to use an external database, add the required settings
		DSN => "DBI:ODBC:driver={SQL Server};Database=DB-NAME;Server=SERVER-IP",
		Type => 'mssql', # only for ODBC connections
		User => 'USER',
		Password => 'PW',
		Table => 'TABELLE',
		ForeignDB => 1,    # set this to 1 if your table does not have create_time, create_by, change_time and change_by fields
		
		# CaseSensitive will control if the SQL statements need LOWER()
		#   function calls to work case insensitively. Setting this to
		#   1 will improve performance dramatically on large databases.
		CaseSensitive => 1,
	},

	# company unique id
	CustomerCompanyKey             => 'Kurzname',
	CustomerCompanyValid           => 'Historisch',
	CustomerCompanyListFields      => [ 'Kurzname', 'Name01' ],
	CustomerCompanySearchFields    => ['Kurzname', 'Name01'],
	CustomerCompanySearchPrefix    => '',
	CustomerCompanySearchSuffix    => '*',
	CustomerCompanySearchListLimit => 250,
	CacheTTL                       => 60 * 60 * 24, # use 0 to turn off cache

	Map => [
		# var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
		[ 'CustomerID',             'CustomerID', 'Kurzname',	0, 1, 'var', '', 0 ],
		[ 'CustomerCompanyName',    'Customer',   'Name01',		1, 1, 'var', '', 0 ],
		[ 'CustomerCompanyStreet',  'Street',     'Strasse',	1, 0, 'var', '', 0 ],
		[ 'CustomerCompanyZIP',     'Zip',        'Plz',		1, 0, 'var', '', 0 ],
		[ 'CustomerCompanyCity',    'City',       'Ort',		1, 0, 'var', '', 0 ],
		[ 'CustomerCompanyCountry', 'Country',    'Land',		1, 0, 'var', '', 0 ],
		[ 'CustomerCompanyComment', 'Comment',    'Info',		1, 0, 'var', '', 0 ],
		[ 'ValidID',                'Valid',      'Historisch',	0, 1, 'int', '', 0 ],
	],
};
Warum bekomme ich noch nicht mal einen Fehler geworfen...?! :?
OTRS 3.3.0.beta2 @ PostgreSQL 9.1 @ Debian 7.2
externes Kundendaten-Backend: MS SQL 10.50.1600.1
Timbo2013
Znuny newbie
Posts: 20
Joined: 06 Nov 2013, 15:22
Znuny Version: OTRS 3.3.0.beta2
Real Name: Tim
Location: Oldenburg

Re: MS SQL als externes Datenbank-Kunden-Backend

Post by Timbo2013 »

Hui... Ich glaube, so langsam müsste ich eigentlich einen komplett neuen Thread erstellen - erst nach und nach bekomme ich alle relevanten Informtationen mitgeteilt und bislang war es bei fast jedem noch so kleinen Schnipsel: "Schönen Dank, für die benachrichtigung..."
Suboptimaler Informationsaustausch ist das hier... :(

Stand der Dinge:
Es läuft die OTRS 3.3.0.beta2 auf einem Debian 7.2 mit einer PostgreSQL DB 9.1 - zusätzlich sollen aus einer externen MS SQL-Datenbank Firmen- und Ansprechpartnerdaten bezogen werden.
Dank Flo, SuFu und Google habe ich es geschafft, den Linux-Server auf die Kommunikation vorzubereiten: unixODBC, FreeTDS, make, gcc, ... und was weiß ich nicht noch alles!
Über den Konsolenbefehl isql -v mssql USER PW bekomme ich oh Wunder und oh Freude eine erfolgreiche Verbindung vom OTRS-/Linux-Server zur MS SQL-Datenbank. Und da man ja bekanntlich aufhören soll, wenn es am schönsten ist: Erst mal Feierabend und ein schönes Wochenende wünsche ich - am Montag geht's fröhlich weiter! :D

PS: Vielen Dank an wurzel aka Flo für deine bisherigen Bemühungen! :)
OTRS 3.3.0.beta2 @ PostgreSQL 9.1 @ Debian 7.2
externes Kundendaten-Backend: MS SQL 10.50.1600.1
wurzel
Znuny guru
Posts: 3273
Joined: 08 Jul 2010, 22:25
Znuny Version: x.x.x
Real Name: Florian

Re: MS SQL als externes Datenbank-Kunden-Backend

Post by wurzel »

Hi,

yo, wenn das geht sollte es eigentlich nur noch reichen, den String für die DB zu ändern. Habe ich jetzt nicht zur Hand, sollte aber in der
Defaults.pm beschrieben sein.

:)

Flo
OTRS 2025 SILVER (Prod)
OTRS 2025 auf Debian 12 (Test)
Znuny 7.x latest version testing auf Debian 12

-- Ich beantworte keine Forums-Fragen PN - No PN please

I won't answer to unfriendly users any more. A greeting and regards are just polite.
Timbo2013
Znuny newbie
Posts: 20
Joined: 06 Nov 2013, 15:22
Znuny Version: OTRS 3.3.0.beta2
Real Name: Tim
Location: Oldenburg

Re: MS SQL als externes Datenbank-Kunden-Backend

Post by Timbo2013 »

Ich habe ehrlich gesagt keinen Plan, was die EDV hier alles gemacht hat/machen musste... :shock:

Aber nach diversen "Rechner ins andere Netz hängen" , DNS-Anpassungen und was weiß ich nicht noch alles (bin leider kein Techniker), ist es mir nun endlich gelungen, auf dem Linux-Server (OTRS) alle nötigen Pakete zu installieren!
unixODBC, unixODBC-dev, FreeTDS, gcc, make und cpan... 8)

Anschließend brauchte ich nur noch meine "alte" Config.pm wieder hochladen und siehe da: es werden alle Einträge der externen MS SQL-Datenbank angezeigt!!! :D

Kurzum: Problem gelöst! :mrgreen:

:arrow: Kann geschlossen werden :!:
OTRS 3.3.0.beta2 @ PostgreSQL 9.1 @ Debian 7.2
externes Kundendaten-Backend: MS SQL 10.50.1600.1
Locked