CSV-Import: Häufige Fragen und Probleme
Überblick
Der CSV-Datenimport überführt Daten aus Tabellenkalkulationen (Excel, LibreOffice) in die i-doit CMDB. Viele Organisationen nutzen Spreadsheets für ihre IT-Dokumentation — der CSV-Import bietet den strukturierten Weg, diese Daten in i-doit zu konsolidieren.
Der Import befindet sich unter Extras > Import > CSV Import.
Voraussetzungen
- CSV-Datei in UTF-8-Kodierung (z.B. über Notepad++ konvertierbar)
- Erste Zeile enthält Spaltenüberschriften
- Jede weitere Zeile entspricht einem Objekt
- Vor jedem Import ein vollständiges Backup erstellen
Ablauf
1. Datei hochladen
CSV-Datei über den Upload-Dialog hochladen. Nach dem Upload stehen die Optionen "Für Import verwenden", "Herunterladen" und "Löschen" zur Verfügung.
2. Optionen konfigurieren
Objekttyp: Entweder einen globalen Objekttyp für alle Zeilen festlegen, oder pro Zeile über eine Spalte mit der Datenbank-Konstante steuern (z.B. C__OBJTYPE__SERVER). Eine Mischform ist nicht möglich.
Trennzeichen: Standard ist Semikolon (;). Kann bei Bedarf angepasst werden.
Leerwerte:
- Ja: Leere Zellen überschreiben bestehende Attribute in i-doit
- Nein: Leere Zellen werden ignoriert, vorhandene Daten bleiben erhalten
Multi-Value-Kategorien (Listen-Kategorien): Drei Eingabemodi:
- Zusätzliche Zeilen: Das gleiche Objekt (gleicher Titel) in mehreren CSV-Zeilen mit unterschiedlichen Kategorie-Einträgen
- Komma-separierte Liste: Mehrere Werte in einer Zelle, durch Komma getrennt
- Spalten: Alle Einträge in separaten Spalten
Für bestehende Einträge in Multi-Value-Kategorien gibt es drei Modi: "Nur anlegen wenn leer", "Anhängen" oder "Ersetzen".
3. Spalten zuordnen
Jede CSV-Spalte wird über das Stift-Icon einem i-doit-Attribut zugeordnet. Pflichtfelder:
- Objekt-Titel — immer erforderlich
- Objekttyp — erforderlich, wenn kein globaler Typ gesetzt wurde (Datenbank-Konstante verwenden, z.B.
C__OBJTYPE__SERVER)
Spalten ohne Zuordnung werden beim Import ignoriert.
4. Werte mit Einheiten
Attribute mit Einheiten (z.B. Speicher, Frequenz) werden kombiniert in einer Zelle angegeben: 4 TB, 2.5 GHz, 24 Inch. Beim Mapping die Variante mit "(Einheit)" auswählen.
5. Profil speichern
Die Spalten-Zuordnung und Optionen können als Profil gespeichert werden. Bei wiederkehrenden Imports mit identischer CSV-Struktur muss das Mapping dann nicht erneut konfiguriert werden. Profile können auch über die CLI referenziert werden.
6. Import starten
Logging-Detail auswählen (Debug empfohlen für erste Tests), dann "Importieren" klicken. Nach Abschluss werden Links zu den importierten/aktualisierten Objekten angezeigt.
Praxisbeispiele
Beziehungen (Verknüpfungen) importieren
Objekte können beim Import direkt miteinander verknüpft werden — z.B. ein Client mit dem zugehörigen Benutzer oder eine Anwendung mit einem Server.
- In der CSV-Datei eine Spalte mit dem exakten Objekttitel des zu verknüpfenden Objekts anlegen
- Beim Spalten-Mapping den Beziehungstyp auswählen (z.B. "Kontaktzuweisung")
- Optional: "Objekte automatisch erstellen" aktivieren, falls das Ziel-Objekt noch nicht existiert (Ziel-Objekttyp muss angegeben werden)
Organisationen zuordnen
Eine Spalte "Organisation" in der CSV anlegen und im Import-Profil das entsprechende Organization Matching konfigurieren. Der Name in der CSV muss exakt mit dem Organisationsnamen in i-doit übereinstimmen.
Mehrere Objekttypen in einer Datei
Den globalen Objekttyp leer lassen und stattdessen eine Spalte mit der Datenbank-Konstante pro Zeile verwenden:
Objekttyp;Objekttitel;Hersteller
C__OBJTYPE__SERVER;SRV-WEB-001;Dell
C__OBJTYPE__CLIENT;PC-HR-042;Lenovo
C__OBJTYPE__MONITOR;MON-HR-042;Dell
Die Konstante finden Sie unter Verwaltung > Datenstruktur > Objekttyp-Konfiguration. Anzeigenamen funktionieren nicht — es muss die Konstante verwendet werden.
Automatisierter Import per CLI
sudo -u www-data php console.php import-csv \
--user admin --password admin \
--tenantId 1 --importFile /pfad/zur/datei.csv \
--importProfileId 1
Profil-IDs auslesen: console.php import-csvprofiles
Häufige Probleme
CSV-Dateien werden nach Upload nicht angezeigt (v38)
Symptom: Dateien erscheinen nach dem Upload nicht in der Import-Liste.
Ursache: Ein Bug in v38 bei Dateinamen mit Umlauten (z.B. Räume.csv). Alle Dateien alphabetisch nach der betroffenen Datei werden ebenfalls ausgeblendet.
Workaround: Dateinamen ausschließlich mit ASCII-Zeichen verwenden (z.B. Raeume.csv).
Import-Profile werden nicht angezeigt
Lösung: Es muss zuerst ein Profil erstellt werden. Beim ersten Import die Spalten-Zuordnung manuell vornehmen und über "Profil speichern" sichern.
Objekte werden doppelt angelegt
Ursache: Kein Identifizierungsmerkmal konfiguriert.
Lösung: Ein Object-Matching-Profil auswählen, das bestehende Objekte anhand eines Merkmals identifiziert (z.B. Objekttitel, Inventarnummer, Seriennummer).
IP-Adressen werden ohne Netz-Zuordnung importiert
Die automatische Zuordnung zum Layer-3-Netz funktioniert nur bei manueller Eingabe in der Hostadressen-Kategorie. Beim CSV-Import muss das Netz als eigene Spalte mit angegeben werden.
Importierte Daten enthalten Sonderzeichen
Ursache: Falsche Kodierung der CSV-Datei.
Lösung: Datei in Notepad++ öffnen > Kodierung > Konvertiere zu UTF-8 > Speichern.
Hoher Speicherverbrauch bei großen Imports
Bei sehr großen CSV-Dateien kann der Import abbrechen. Das PHP Memory-Limit erhöhen oder die Datei in kleinere Teile aufteilen.
Ausführliche Dokumentation: CSV-Datenimport in der Knowledge Base | Beispiel: Anwendungen importieren
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.