DynamicField - LIMIT

Hilfe zu Znuny Problemen aller Art
Locked
djedv
Znuny newbie
Posts: 14
Joined: 25 Apr 2014, 12:34
Znuny Version: OTRS 3.x
Real Name: Hans
Company: Berger

DynamicField - LIMIT

Post by djedv »

Erstmal Hallo an das Forum,

ich bin neu bei der Thematik "OTRS" und versuche mich gerade einzuarbeiten.
Benutzt wird hier OTRS 3.3.6 mit der angeboteten OTRS Appliance (also Debian) als HDD-Install mit mySQL-DB.

Zusätzlich habe ich das Paket DynamicFieldRemoteDB 1.1.0 im Einsatz, um von einem SQL 2008 Server Daten zu holen.
Dazu wurde der native SQL Client 11 für Linux von Microsoft installiert.
Funktioniert soweit auch ganz gut, nur ein Problem ist dabei aufgetreten:

Wenn ich unter Ticket-Einstellungen -> Dynamischer Felder -> %TICKETNAME% den Editiermodus auf Autovervollständigen setzte,
werden in der Abfrage die maximanlen Queryergebnisse "scharf geschalten". Dies führt bei der Benutzung des Feldes (Autoverfollständigung)
immer zum Fehler:

Code: Select all

Could not execute query 'SELECT Name FROM dbo.**** WHERE ID='***' LIMIT 1': 1 :: [Microsoft][SQL Server Native Client 11.0][SQL Server]Falsche Syntax in der Nähe von 'LIMIT'. (SQL-42000
Dies dürfte ganz einfach daran liegen, das der MS-SQL-Server den Parameter "LIMIT" nicht versteht,
also
SELECT TOP 10 * FROM stuff; -> MSSQL
SELET * FROM stuff LIMIT 10; ->MYSQL

Und nun die Frage:
Wo genau kann ich (diese) SQL-Abfrage anpassen?

Vielen Dank im Voraus,
lg-dj_edv
reneeb
Znuny guru
Posts: 5018
Joined: 13 Mar 2011, 09:54
Znuny Version: 6.0.x
Real Name: Renée Bäcker
Company: Perl-Services.de
Contact:

Re: DynamicField - LIMIT

Post by reneeb »

Das ist in der Kernel/System/DynamicField/Driver/BaseRemoteDB.pm

Ich habe gerade an cape-IT einen Patch geschickt um das generell generischer zu machen...
Perl / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
djedv
Znuny newbie
Posts: 14
Joined: 25 Apr 2014, 12:34
Znuny Version: OTRS 3.x
Real Name: Hans
Company: Berger

Re: DynamicField - LIMIT

Post by djedv »

reneeb wrote:Das ist in der Kernel/System/DynamicField/Driver/BaseRemoteDB.pm

Ich habe gerade an cape-IT einen Patch geschickt um das generell generischer zu machen...
Vielen herzlichen Dank!

>>Kernel/System/DynamicField/Driver/BaseRemoteDB.pm

Dazu nooch eine Frage:
Kann (darf/soll) ich die Datei direkt anpassen,
oder reicht es aus, eine Kopie nach nach /var/otrs/custom/BaseRemoteDB.pm zu packen, und diese anzupassen?
Ev. kann man die gepatche Variante auch hier im Forum posten, um Anderen diese Probleme zu ersparen...

Falls es jemanden hilft, habe ich die Installation des MS-SQL Native Clients kurz zusammengefasst...

Code: Select all

### MS SQL Native Client auf Debian ###
#Add sources -> /etc/apt/sources.list
deb http://ftp.de.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.de.debian.org/debian/ stable main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
deb-src http://security.debian.org/ stable/updates main contrib non-free
apt-get update
#Download ODBC/MS-SQL Native Client
wget http://download.microsoft.com/download/6/A/B/6AB27E13-46AE-4CE9-AFFD-406367CADC1D/Linux6/sqlncli-11.0.1790.0.tar.gz
wget ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.2.tar.gz
#Install gcc
apt-get install build-essential
tar xf unixODBC-2.3.2.tar.gz
cd unixodbc-2.3.2
#Change lib-version in configure to meet requirements in OTRS-Appliance
vim configure
# -> form  LIB_VERSION="2:0:0"  to  ->  LIB_VERSION="1:0:0"

#build and install unixODBC
sudo vim /etc/ld.so.conf 
#-> add "/usr/local/lib" to the end
sudo ldconfig

#Driver unpack and check for dependencies/compatibility
tar xf sqlncli*
cd sqlncli*
ldd lib64/libsqlncli*
#Compatibility RHEL -> Debian
#libcrypto.so.10 => not found
#libssl.so.10 => not found
# Link wrong libs
cd /usr/lib
sudo ln -s libssl.so.0.9.8 libssl.so.10
sudo ln -s libcrypto.so.0.9.8 libcrypto.so.10

#Install MS ODBC Driver
bash ./install.sh install --force
# type q to exit the terms
# type YES to accept and continue with install
#Expected output
#Checking for 64 bit Linux compatible OS ................................. FAILED
#Checking required libs are installed ............................... NOT CHECKED
#unixODBC utilities (odbc_config and odbcinst) installed ............ NOT CHECKED
#unixODBC Driver Manager version 2.3.0 installed .................... NOT CHECKED
#unixODBC Driver Manager configuration correct ...................... NOT CHECKED
#Microsoft SQL Server ODBC Driver V1.0 for Linux already installed .. NOT CHECKED
#Microsoft SQL Server ODBC Driver V1.0 for Linux files copied ................ OK
#Symbolic links for bcp and sqlcmd created ................................... OK
#Microsoft SQL Server ODBC Driver V1.0 for Linux registered ........... INSTALLED

#Now test the install with sqlcmd.
sqlcmd -SYOURSQLSERVER -UYOURSQLUSER -PYOURSQLPASS
1> use YOURSQLDB;
2> GO
Changed database context to 'YOURSQLDB'.
1> select * from YOURTABLE;
2> GO

# Determining Which ODBC.ini File the Driver is Using, default in /usr/local/etc/
odbcinst -j
# DRIVERS............: /usr/local/etc/odbcinst.ini
# SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
# FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
Und als DSN-String für MS-SQL für die dynamischen Felder funktioniert bei mir:
Admin-> Dynamische Felder -> %YOURTNAME% -> Datenbank DNS (DNS wahrscheinlich Typo?, sollte wahrscheinlich DSN sein...)

Code: Select all

DBI:ODBC:driver=SQL Server Native Client 11.0;server=YOURSERVERIP;database=YOURDATABASE;uid=YOURSQLUSER;pwd=YOURSQLPASSWORD;
lg-dj_edv
tto
Znuny wizard
Posts: 315
Joined: 09 Jan 2007, 15:24
Znuny Version: OTRS 5.0.x
Real Name: Torsten
Company: c.a.p.e. IT GmbH
Location: Chemnitz
Contact:

Re: DynamicField - LIMIT

Post by tto »

reneeb wrote:Das ist in der Kernel/System/DynamicField/Driver/BaseRemoteDB.pm

Ich habe gerade an cape-IT einen Patch geschickt um das generell generischer zu machen...
Danke Renee! Patch ist angekommen und den Entwicklern zum Test und Release zugeteilt.

vlG, T.
--
KIX 17.x (fork of OTRS)
Professional KIX-, or OTRS-integration, development and consulting by c.a.p.e. IT - http://www.cape-it.de
For questions and hints regarding KIX(4OTRS) please go to https://forum.kixdesk.com/
Bei Fragen und Hinweisen zu KIX(4OTRS) bitte an https://forum.kixdesk.com/ wenden.
reneeb
Znuny guru
Posts: 5018
Joined: 13 Mar 2011, 09:54
Znuny Version: 6.0.x
Real Name: Renée Bäcker
Company: Perl-Services.de
Contact:

Re: DynamicField - LIMIT

Post by reneeb »

djedv wrote: Kann (darf/soll) ich die Datei direkt anpassen,
Ich würde erstmal die Datei direkt anpassen. Ich denke cape-IT wird demnächst ein Update veröffentlichen und dann wird das wieder überschrieben. Dann hast Du keine Altlasten im System.
djedv wrote: Ev. kann man die gepatche Variante auch hier im Forum posten, um Anderen diese Probleme zu ersparen...
Würde ich jetzt erstmal ungern machen. Vielleicht weicht der endgültige Code von cape-IT etwas von meinem Patch ab und dann divergiert der Code von System und Paket zu sehr auseinander wenn das Update nicht eingespielt wird.
djedv wrote: Falls es jemanden hilft, habe ich die Installation des MS-SQL Native Clients kurz zusammengefasst...
Danke!
Perl / Znuny development: http://perl-services.de
Free Znuny add ons from the community: http://opar.perl-services.de
Commercial add ons: http://feature-addons.de
djedv
Znuny newbie
Posts: 14
Joined: 25 Apr 2014, 12:34
Znuny Version: OTRS 3.x
Real Name: Hans
Company: Berger

Re: DynamicField - LIMIT

Post by djedv »

reneeb wrote:
djedv wrote: Kann (darf/soll) ich die Datei direkt anpassen,
Ich würde erstmal die Datei direkt anpassen. Ich denke cape-IT wird demnächst ein Update veröffentlichen und dann wird das wieder überschrieben. Dann hast Du keine Altlasten im System.
djedv wrote: Ev. kann man die gepatche Variante auch hier im Forum posten, um Anderen diese Probleme zu ersparen...
reneeb wrote:[Würde ich jetzt erstmal ungern machen. Vielleicht weicht der endgültige Code von cape-IT etwas von meinem Patch ab und dann divergiert der Code von System und Paket zu sehr auseinander wenn das Update nicht eingespielt wird.
Da bis jetzt noch keine neue Verion von cape-IT online ist, ware ev. möglich nur die angepasse SQL-Abfrage für MS-SQL aus der BaseRemoteDB.pm hier zu posten?
Ich komme mit meine Experimenten leider nicht wirklich weiter...
tto
Znuny wizard
Posts: 315
Joined: 09 Jan 2007, 15:24
Znuny Version: OTRS 5.0.x
Real Name: Torsten
Company: c.a.p.e. IT GmbH
Location: Chemnitz
Contact:

Re: DynamicField - LIMIT

Post by tto »

djedv wrote:Da bis jetzt noch keine neue Verion von cape-IT online ist, ware ev. möglich nur die angepasse SQL-Abfrage für MS-SQL aus der BaseRemoteDB.pm hier zu posten?
Ich komme mit meine Experimenten leider nicht wirklich weiter...
r1.2.0 kommt in den nächsten Stunden oder Tagen online - je nachdem wo man schaut. Ansonsten geht auch der direkte Kontakt (support@cape-it.de). Hier im Forum bekommt man leider nicht alles mit.

vG, T.
--
KIX 17.x (fork of OTRS)
Professional KIX-, or OTRS-integration, development and consulting by c.a.p.e. IT - http://www.cape-it.de
For questions and hints regarding KIX(4OTRS) please go to https://forum.kixdesk.com/
Bei Fragen und Hinweisen zu KIX(4OTRS) bitte an https://forum.kixdesk.com/ wenden.
djedv
Znuny newbie
Posts: 14
Joined: 25 Apr 2014, 12:34
Znuny Version: OTRS 3.x
Real Name: Hans
Company: Berger

Re: DynamicField - LIMIT

Post by djedv »

tto wrote: r1.2.0 kommt in den nächsten Stunden oder Tagen online - je nachdem wo man schaut. Ansonsten geht auch der direkte Kontakt (support@cape-it.de). Hier im Forum bekommt man leider nicht alles mit.

vG, T.
Version: DynamicFieldRemoteDB-1.2.0.opm
War nur etwas schwer gefunden in den Weiten des Internets...

Vielen Dank, klappt jetzt auch mit MSSQL problemlos.

lG - dj_edv
Locked