MSSQL Kunden Backend

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

MSSQL Kunden Backend

Post by djedv »

Hallo Community,

gibt es hier jemenden, der bereits einen MSSQL erfolgreich als (zusätzliches) Kunden-Backend einsetzt?
Ich kämpfe schon einige Zeit damit, allerdings bis jetzt erfolglos.
Sobald ich die (u.a.) Config in die Config.pm einfüge, geht gar nicht mehr...

Config: OTRS 3.3 auf Debian, Native SQL Client, ODBC Verbindung

Code: Select all

# CustomerUser2 (customer database backend and settings)
$Self->{CustomerUser2} = {
 Name => 'crmdb',
 Module => 'Kernel::System::CustomerUser2::DB',
	Params => {
            DSN => 'DBI:ODBC:driver=SQL Server Native Client 11.0;server=192.168.200.34;database=crmdb;uid=otrs;pwd=pwd;,
            User => 'otrs',
            Password => 'pwd',
            Table => 'dbo.ADRESSEN',
            SourceCharset => 'iso-8859-1',
            DestCharset => 'utf-8',
            CaseSensitive => 0,
            },
            CustomerKey => 'ADRESSEN_KEY',
            CustomerID => 'ADRESSEN_KEY',
            CustomerUserListFields => ['ADRESSEN_NAM1'],
            CustomerUserSearchFields => ['ADRESSEN_KEY', 'ADRESSEN_NAM1'],
            CustomerUserSearchPrefix => '',
            CustomerUserSearchSuffix => '*',
            CustomerUserSearchListLimit =>500,
            CustomerUserPostMasterSearchFields => ['ADRESSEN_KEY'],
            CustomerUserNameFields => ['ADRESSEN_NAM1'],
            CustomerUserEmailUniqCheck => 0,
            AutoLoginCreation => 1,
            AdminSetPreferences => 1,
            CacheTTL => 0,
            ReadOnly => 1,
            Map => [
                # note: Login, Email and CustomerID needed!
                # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target
                [ 'UserLogin',      'Username',   'ADRESSEN_NAM1',      1, 1, 'var', '', 0 ],
                [ 'UserPassword',   'Password',   'ADRESSEN_KEY',         1, 0, 'var', '', 0 ],
                [ 'UserEmail',      'Email', 'ADRESSEN_EMAIL',           2, 0, 'var', '',0],
                [ 'UserCustomerID', 'CustomerID', 'ADRESSEN_KEY', 1, 1, 'var', '', 0 ],
            ],
            # default selections
            Selections => {
                UserSalutation => {
                    '1' => 'Herr',
                    '2' => 'Frau',
                },
            },
        };
wurzel
Znuny guru
Posts: 3273
Joined: 08 Jul 2010, 22:25
Znuny Version: x.x.x
Real Name: Florian

Re: MSSQL Kunden Backend

Post by wurzel »

Hi,

auf den ersten Blick sieht das gut aus, ich schau's mir gleich mal genauer an

Was heisst 'es geht garnicht mehr' ?


es gibt so 'ne Option ForeignDB = 1 oder so... das vermisse ich. (weiß aber nicht, ob man das braucht)

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.
djedv
Znuny newbie
Posts: 14
Joined: 25 Apr 2014, 12:34
Znuny Version: OTRS 3.x
Real Name: Hans
Company: Berger

Re: MSSQL Kunden Backend

Post by djedv »

Sobald ich die Config in die Config .pm einfüge ->geht gar nicht mehr ->

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.

Allerdings finde ich auch kein passendes Log dazu...

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: MSSQL Kunden Backend

Post by reneeb »

Wie hast Du das eingefügt? (kannst Du die komplette Config.pm posten - natürlich mit anonymisierten Daten?)

Bis Du sicher, dass es die Datei Kernel/System/CustomerUser2/DB.pm gibt? Das sollte wohl eher "Module => 'Kernel::System::CustomerUser2::DB'", (der Modulname ist unabhängig von dem "$Self->{CustomerUser2}") heißen.
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: MSSQL Kunden Backend

Post by djedv »

Hallo reneeb,

vielen Dank erstmal für die Unterstützung.

'Kernel::System::CustomerUser2::DB'
gibt es nicht, mein Fehler - > muss ich dort extra eine eigene "PM" anlegen, oder kann ich die
'Kernel::System::DB' benutzen? (dort ist allerdings keine Sektion für MSSQL native Client drinnen, soweit ich erkennen kann...)

Anbei die Config.pm

Code: Select all

# --
package Kernel::Config;

use strict;
use warnings;
use utf8;

sub Load {
    my $Self = shift;

    # ---------------------------------------------------- #
    # database settings                                    #
    # ---------------------------------------------------- #

    # The database host
    $Self->{DatabaseHost} = '127.0.0.1';

    # The database name
    $Self->{Database} = 'otrs';

    # The database user
    $Self->{DatabaseUser} = 'otrs';

    # The password of database user. You also can use bin/otrs.CryptPassword.pl
    # for crypted passwords
    $Self->{DatabasePw} = 'Xc525JGCI-69y31';
	$Self->{SecureMode}=1;
	$Self->{"Package::Timeout"}=120;
	$Self->{'SystemID'}=43;
	$Self->{'SessionName'}='OTRSAgentInterface';
### MARKER ###
    # The database DSN for MySQL ==> more: "perldoc DBD::mysql"
    $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};host=$Self->{DatabaseHost};";

    # The database DSN for PostgreSQL ==> more: "perldoc DBD::Pg"
    # if you want to use a local socket connection
#    $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};";
    # if you want to use a TCP/IP connection
#    $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};host=$Self->{DatabaseHost};";
    # if you have PostgresSQL 8.1 or earlier, activate the legacy driver with this line:
#    $Self->{DatabasePostgresqlBefore82} = 1;

    # The database DSN for Microsoft SQL Server - only supported if OTRS is
    # installed on Windows as well
#    $Self->{DatabaseDSN} = "DBI:ODBC:driver={SQL Server};Database=$Self->{Database};Server=$Self->{DatabaseHost},1433";

    # The database DSN for Oracle ==> more: "perldoc DBD::oracle"
#    $ENV{ORACLE_HOME} = '/u01/app/oracle/product/10.2.0/client_1';
#    $ENV{NLS_DATE_FORMAT} = 'YYYY-MM-DD HH24:MI:SS';
#    $ENV{NLS_LANG} = "american_america.utf8";

#    $Self->{DatabaseDSN} = "DBI:Oracle:sid=OTRS;host=$Self->{DatabaseHost};port=1522;";

    # ---------------------------------------------------- #
    # fs root directory
    # ---------------------------------------------------- #
    $Self->{Home} = '/opt/otrs';

    # ---------------------------------------------------- #
    # insert your own config settings "here"               #
    # config settings taken from Kernel/Config/Defaults.pm #
    # ---------------------------------------------------- #
    # $Self->{SessionUseCookie} = 0;
    # $Self->{CheckMXRecord} = 0;


#### BEGIN COSTUM ####

# Enable LDAP Authentication for Agent #
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = '192.168.200.1';
$Self->{'AuthModule::LDAP::BaseDN'} = 'dc=domain,dc=local';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::GroupDN'} = 'CN=DOMAIN_OTRS,OU=DOMAIN_GRUPPEN,OU=DOMAIN,DC=DOMAIN,DC=local';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'CN=OTRSLDAP,CN=Users,DC=DOMAIN,DC=local';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'pwd';
$Self->{'AuthModule::LDAP::Params'} = {
port => 389,
timeout => 120,
async => 0,
version => 3,
};

# Second backend, internal OTRS DB
$Self->{'AuthModule2'} = 'Kernel::System::Auth::DB';
$Self->{'AuthModule2::DB::CryptType2'} = 'crypt';



# Enable LDAP Authentication Sync for Agent #
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = 'ldap://192.168.200.1:389';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'dc=DOMAIN,dc=local';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::UserAttr'} = 'DN';
$Self->{'AuthSyncModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'CN=OTRSLDAP,CN=Users,DC=DOMAIN,DC=local';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'pwd';

# Enable Agent Mapping from LDAP to DB #
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};

# CustomerUser2 (customer database backend and settings)
$Self->{CustomerUser2} = {
 Name => 'crmdb',
 Module => 'Kernel::System::CustomerUser2::DB',
   Params => {
            DSN => 'DBI:ODBC:driver=SQL Server Native Client 11.0;server=192.168.200.34;database=crmdb;uid=otrs;pwd=pwd;,
            User => 'otrs',
            Password => 'pwd',
            Table => 'dbo.ADRESSEN',
            SourceCharset => 'iso-8859-1',
            DestCharset => 'utf-8',
            CaseSensitive => 0,
            },
            CustomerKey => 'ADRESSEN_KEY',
            CustomerID => 'ADRESSEN_KEY',
            CustomerUserListFields => ['ADRESSEN_NAM1'],
            CustomerUserSearchFields => ['ADRESSEN_KEY', 'ADRESSEN_NAM1'],
            CustomerUserSearchPrefix => '',
            CustomerUserSearchSuffix => '*',
            CustomerUserSearchListLimit =>500,
            CustomerUserPostMasterSearchFields => ['ADRESSEN_KEY'],
            CustomerUserNameFields => ['ADRESSEN_NAM1'],
            CustomerUserEmailUniqCheck => 0,
            AutoLoginCreation => 1,
            AdminSetPreferences => 1,
            CacheTTL => 0,
            ReadOnly => 1,
            Map => [
                # note: Login, Email and CustomerID needed!
                # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target
                [ 'UserLogin',      'Username',   'ADRESSEN_NAM1',      1, 1, 'var', '', 0 ],
                [ 'UserPassword',   'Password',   'ADRESSEN_KEY',         1, 0, 'var', '', 0 ],
                [ 'UserEmail',      'Email', 'ADRESSEN_EMAIL',           2, 0, 'var', '',0],
                [ 'UserCustomerID', 'CustomerID', 'ADRESSEN_KEY', 1, 1, 'var', '', 0 ],
            ],
            # default selections
            Selections => {
                UserSalutation => {
                    '1' => 'Herr',
                    '2' => 'Frau',
                },
            },
        };
###END COSTUM##


    # ---------------------------------------------------- #

    # ---------------------------------------------------- #
    # data inserted by installer                           #
    # ---------------------------------------------------- #
    # $DIBI$
    # ---------------------------------------------------- #
    # ---------------------------------------------------- #
    #                                                      #
    # end of your own config options!!!                    #
    #                                                      #
    # ---------------------------------------------------- #
    # ---------------------------------------------------- #
}

# ---------------------------------------------------- #
# needed system stuff (don't edit this)                #
# ---------------------------------------------------- #

use base qw(Kernel::Config::Defaults);

# -----------------------------------------------------#
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: MSSQL Kunden Backend

Post by reneeb »

In der Regel sollte die bestehende .pm funktionieren. Es gibt eine DB-Abstraktionsschicht, die je nach DB-System dann gewisse Funktionen anders ausführt, darum muss sich der Admin nur insofern kümmern, dass er bei MSSQL folgendes einträgt:

Code: Select all

Type => 'mssql', # only for ODBC connection
(vgl. https://github.com/OTRS/otrs/blob/rel-3 ... s.pm#L1313 - nur ohne das führende "#")
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: MSSQL Kunden Backend

Post by djedv »

Wenn ich das richtig verstehe, kann ich "Type => 'mssql', direct im String angeben, also ungefähr so wie u.a.?

# CustomerUser2 (customer database backend and settings)
$Self->{CustomerUser2} = {
Name => 'crmdb',
Module => 'Kernel::System::CustomerUser::DB',
Params => {
DSN => 'DBI:ODBC:driver=SQL Server Native Client 11.0;server=192.168.200.34;database=crmdb;uid=otrs;pwd=pwd;,
User => 'otrs',
Password => 'pwd',
Type => 'mssql',
Table => 'dbo.ADRESSEN',
SourceCharset => 'iso-8859-1',
DestCharset => 'utf-8',
CaseSensitive => 0,
},
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: MSSQL Kunden Backend

Post by reneeb »

genau
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: MSSQL Kunden Backend

Post by djedv »

Wenn ich jetzt die Config einsetzte, bekomme ich in der Error-Log den Eintrag:
[Wed May 14 17:25:03 2014] [error] [Wed May 14 17:25:03 2014] -e: Can't connect to database! at /opt/otrs//Kernel/System/CustomerUser/DB.pm line 105.\n

### Config.pm ###
# CustomerUser2 (customer database backend and settings)
$Self->{CustomerUser2} = {
Name => 'crmdb',
Module => 'Kernel::System::CustomerUser::DB',
Params => {
DSN => 'DBI:ODBC:driver=SQL Server Native Client 11.0;server=192.168.200.34;database=crmdb;uid=otrs;pwd=pwd;',
User => 'otrs',
Password => 'pwd',
Type => 'mssql',
Table => 'dbo.ADRESSEN',
SourceCharset => 'iso-8859-1',
DestCharset => 'utf-8',
CaseSensitive => 0,
},
### Config.pm ###

##### Auszug aus der /opt/otrs//Kernel/System/CustomerUser/DB.pm ####
94 # create new db connect if DSN is given
95 if ( $Self->{CustomerUserMap}->{Params}->{DSN} ) {
96 $Self->{DBObject} = Kernel::System::DB->new(
97 LogObject => $Param{LogObject},
98 ConfigObject => $Param{ConfigObject},
99 MainObject => $Param{MainObject},
100 EncodeObject => $Param{EncodeObject},
101 DatabaseDSN => $Self->{CustomerUserMap}->{Params}->{DSN},
102 DatabaseUser => $Self->{CustomerUserMap}->{Params}->{User},
103 DatabasePw => $Self->{CustomerUserMap}->{Params}->{Password},
104 %DatabasePreferences,
105 %{ $Self->{CustomerUserMap}->{Params} },
106 ) || die('Can\'t connect to database!');

Verzweiflung macht sich breit, wie kann ich doch noch eine Connection zur MSSQL aufbauen?

Ich danke schon mal allen im voraus für die Geduld...

lg-dj_edv
wurzel
Znuny guru
Posts: 3273
Joined: 08 Jul 2010, 22:25
Znuny Version: x.x.x
Real Name: Florian

Re: MSSQL Kunden Backend

Post by wurzel »

Hi,

das Modul passt, dort liegt der Fehler sicher nicht.

Du hast entweder keinen ODBC Treiber installiert
oder
Du kommst auf die DB nicht drauf, weil sie Dich blockt

würd ich jetz mal tippen ;)

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.
djedv
Znuny newbie
Posts: 14
Joined: 25 Apr 2014, 12:34
Znuny Version: OTRS 3.x
Real Name: Hans
Company: Berger

Re: MSSQL Kunden Backend

Post by djedv »

das Modul passt, dort liegt der Fehler sicher nicht.
Du hast entweder keinen ODBC Treiber installiert
oder
Du kommst auf die DB nicht drauf, weil sie Dich blockt
Um ODBC/DB-Fehler auszuschließen, habe ich nun das ganze System neu aufgesetzt auf Debian Wheezy,
wieder mit OTRS 3.3, Native SQL Client, ODBC Verbindung.
Anbindung an den MSSQL für die "Dynamic Fields" funktioniert einwandfrei,
ebenso ein Test mit sqlcmd oder isql. Das konfigurierte "Database Backend" mit der gleichen MSSQL-DB taucht allerdings nicht in der Auswahlliste auf,
und ich bekomme folgende Fehler im Error-Log, wenn ich z.B. nach einem Kundenbenutzer suche:

Code: Select all

[Fri May 23 00:07:44 2014] -e: DBD::ODBC::st execute failed: [Microsoft][SQL Server Native Client 11.0][SQL Server]Ungültiger Spaltenname 'first_name'. (SQL-42S22)
[Fri May 23 00:07:44 2014] -e: [Microsoft][SQL Server Native Client 11.0][SQL Server]Ungültiger Spaltenname 'last_name'. (SQL-42S22)
[Fri May 23 00:07:44 2014] -e: [Microsoft][SQL Server Native Client 11.0][SQL Server]Ungültiger Spaltenname 'email'. (SQL-42S22) [state was 42S22 now 42000]
[Fri May 23 00:07:44 2014] -e: [Microsoft][SQL Server Native Client 11.0][SQL Server]Anweisung(en) konnte(n) nicht vorbereitet werden. (SQL-42000) at /opt/otrs//Kernel/System/DB.pm line 639.
ERROR: OTRS-CGI-10 Perl: 5.14.2 OS: linux Time: Fri May 23 00:07:44 2014
Ich tippe mal auf das Mapping, komme aber auf keine Lösung.
##snip---###
# var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target
[ 'UserLogin', 'Username', 'ADRESSEN_NAM1', 1, 1, 'var', '', 0 ],
##snip---###

Wenn ich das richtig verstehe, ist der erste Eintrag für die OTRS-DB, der zweite ein "Anzeigename" und der dritte Eintrag der Spaltenname in meiner MSSQL-DB?

Code: Select all

# CustomerUser2 (customer database backend and settings)
$Self->{CustomerUser2} = {
 Name => 's1edvservice',
 Module => 'Kernel::System::CustomerUser::DB',
 Params => {
 DSN => 'DBI:ODBC:driver=SQL Server Native Client 11.0;server=192.168.***.***;database=s1edvservice;uid=otrs;pwd=****;',
 User => 'otrs',
 Password => '*****',
 Type => 'mssql',
 Table => 'dbo.ADRESSEN',
 SourceCharset => 'iso-8859-1',
 DestCharset => 'utf-8',
 CaseSensitive => 0,
 },
            CustomerKey => 'ADRESSEN_KEY',
            CustomerID => 'ADRESSEN_KEY',
            CustomerUserLipstFields => ['ADRESSEN_NAM1'],
            CustomerUserSearchFields => ['ADRESSEN_KEY', 'ADRESSEN_NAM1'],
            CustomerUserSearchPrefix => '',
            CustomerUserSearchSuffix => '*',
            CustomerUserSearchListLimit =>500,
            CustomerUserPostMasterSearchFields => ['ADRESSEN_KEY'],
            CustomerUserNameFields => ['ADRESSEN_NAM1'],
            CustomerUserEmailUniqCheck => 0,
            AutoLoginCreation => 1,
            AdminSetPreferences => 1,
            CacheTTL => 0,
            ReadOnly => 1,
            Map => [
                # note: Login, Email and CustomerID needed!
                # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target
                [ 'UserLogin',      'Username',   'ADRESSEN_NAM1',      1, 1, 'var', '', 0 ],
                [ 'UserPassword',   'Password',   'ADRESSEN_KEY',         1, 0, 'var', '', 0 ],
                [ 'UserEmail',      'Email', 'ADRESSEN_EMAIL',           2, 0, 'var', '',0],
                [ 'UserCustomerID', 'CustomerID', 'ADRESSEN_KEY', 1, 1, 'var', '', 0 ],
            ],
            # default selections
            Selections => {
                UserSalutation => {
                    '1' => 'Herr',
                    '2' => 'Frau',
                },
            },
        };
##

Vielen Dank im Voraus für die tolle Unterstützung hier!
lg - dj_edv
wurzel
Znuny guru
Posts: 3273
Joined: 08 Jul 2010, 22:25
Znuny Version: x.x.x
Real Name: Florian

Re: MSSQL Kunden Backend

Post by wurzel »

Hi,

korrekt. Deine Spalten in der Tabelle passen nicht zum Mapping.
Ungültiger Spaltenname 'email'


Aber wenigstens hast Du eine Verbindung.
Der Rest sollte jetzt easy 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.
djedv
Znuny newbie
Posts: 14
Joined: 25 Apr 2014, 12:34
Znuny Version: OTRS 3.x
Real Name: Hans
Company: Berger

Re: MSSQL Kunden Backend

Post by djedv »

Hallo Flo,

erstmal vielen Dank für die Unterstützung.
Der Rest sollte jetzt easy sein :-)
Sollte ja - komme aber trotzdem nicht weiter. Immerhin habe ich herausgefunden, dass
"ReadOnly => 1" den Eintrag aus der Auswahlliste in der Kundenverwaltung verschwinden lässt.
Das eigentliche Ziel, die Kunden aus der externen Datenbank zu befüllen,
klappt aber immer noch nicht. Ich bekomme bei jeder Suche im Modul "Kundenverwaltung" einen Fehler im Apache-Log.

Code: Select all

[Fri May 23 20:35:03 2014] -e: Use of uninitialized value $Data{"ValidID"} in hash element at /opt/otrs//Kernel/Modules/AdminCustomerCompany.pm line 499.
[Fri May 23 20:35:03 2014] -e: DBD::ODBC::st execute failed: [Microsoft][SQL Server Native Client 11.0][SQL Server]Ungültiger Spaltenname 'change_time'. (SQL-42S22)
[Fri May 23 20:35:03 2014] -e: [Microsoft][SQL Server Native Client 11.0][SQL Server]Ungültiger Spaltenname 'create_time'. (SQL-42S22) [state was 42S22 now 42000]
[Fri May 23 20:35:03 2014] -e: [Microsoft][SQL Server Native Client 11.0][SQL Server]Anweisung(en) konnte(n) nicht vorbereitet werden. (SQL-42000) at /opt/otrs//Kernel/System/DB.pm line 639.
ERROR: OTRS-CGI-10 Perl: 5.14.2 OS: linux Time: Fri May 23 20:35:03 2014
Damit ich das auch Maping richtig verstehe:
# var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target
var=Datentyp?
frontend="Frei wählbarer Anzeigename" im OTRS?
storage=Spaltenname in der "Fremd-Datenbank"?
Welche Felder ( CustomerCompanyKey , CustomerID usw) sind minimal notwendig?

Code: Select all

 $Self->{CustomerCompany1} = {
 Name => 'Kunden',
 Params => {
 DSN => 'DBI:ODBC:driver=SQL Server Native Client 11.0;server=192.168.xxx.xxx;database=xxxxx;uid=otrs;pwd=xxxxx;',
 User => 'otrs',
 Password => 'xxxxx',
 Table => 'dbo.ADRESSEN',
 CaseSensitive => 0,
        },
        CustomerCompanyKey             => 'ADRESSEN_KEY',
        CustomerID                     => 'ADRESSEN_KEY',
        CustomerCompanyValid           => 'ADRESSEN_AKTIV',
        CustomerCompanyListFields      => [ 'ADRESSEN_NAM1' ],
        CustomerCompanySearchFields    => [ 'ADRESSEN_NAM1' ],
        CustomerCompanySearchPrefix    => '',
        CustomerCompanySearchSuffix    => '*',
        CustomerCompanySearchListLimit => 250,
        ReadOnly => 0,
        Map => [
        # note: Login, Email and CustomerID needed!
        # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly, http-link-target
                [ 'UserLogin',      'CustomerID',   'ADRESSEN_NAM1',     1, 1, 'var', '', 0 ],
                [ 'UserEmail',      'ADRESSEN_STRA', 'ADRESSEN_STRA',     1, 1, 'var', '', 0],
                [ 'UserCustomerID', 'ADRESSEN_KEY', 'ADRESSEN_KEY',         1, 1, 'var', '', 0 ],
        ],
    };
vielen Dank schon mal im Voraus,
lg - dj_edv
Locked