Einzelnen Datensatz in andere Solution auf anderem Server exportieren

Hallo zusammen,

Ich möchte einen einzelnen Datensatz aus einer anderen Solution importieren, die auf einem anderen Server im gleichen Netzwerk liegt. ODBC-Verbindung besteht. Wie definiere ich im Assistenten für den Daten-Import mit Abgleich den einzelnen zu importierenden Datensatz?

Auch eine umgekehrte Lösung wäre vorstellbar, in der ich den Datensatz aus der anderen Solution exportiere.

Wie kann ich da ansetzen?

Hallo Herr Klöskes,

warum so kompliziert?

Wenn es sich doch nur um einen Datensatz handelt, kann man den doch sicherlich filtern und über den Export-Assistenten den in eine *.csv - Datei oder eine Excel-Datei exportieren.

Im zweiten Schritt den Datensatz in der neuen Solution über Import/Abgleichen den Datensatz ganz einfach importieren/abgleichen. Hierfür braucht man keine ODBC-Verbindung.

Beste Grüße
Frank Wietzel

Hallo Herr Wietzel,

diese Option ist für den Anwender zu kompliziert. Das muss quasi per Knopfdruck geschehen. Klicken, andere Solution öffnen und der Datensatz ist da.

Beste Grüße aus dem ziemlich kalten Nettetal.

Dass Sie eine dauerhafte Lösung brauchen, mit der Endanwender:innen dauerhaft/wiederholend klarkommen sollen, wurde aus Ihrem O-Posting ganz klar. (Ich hatte auch gedacht, dass Sie jetzt halt ausnahmsweise 1 Datensatz aus einer eigentlich schon lange in Rente geschickten Solution doch noch brauchen.)

Dann ist vermutlich auch kein Import-/Abgleich Assistent praktikabel.

Meine Lösung für den Assistent wäre (vor Ihrer letzten Antwort) gewesen, dass Sie hier


auf die ID des gewünschten Datensatzes filtern. (Man muss hierbei in Kauf nehmen, dass dieser Filter vom Importassistent evaluiert wird, NICHT von der Datenquelle. D.h. es werden alle Datensätze der Quelle zum Client übertragen und alle, auf die die Filterbedingung nicht zutrifft, erst am Client vom Assistent dann stillschweigend verworfen. Das kann bei mehreren Hunderttausend/Millionen Datensätzen in der Quelle evtl. einige Zeit dauern.)

Wenn Sie das jetzt aber als dauerhaften „Teil“ Ihres cRM Betriebs realisieren wollen, dann muss da eine bessere Lösung her. :thinking:

Können Sie daher noch ein wenig ausholen? Was ist denn genau der Hintergrund?

  • Ist die andere Solution auch noch aktiv in Betrieb, oder ist die alt?
  • Warum sollen da überhaupt einzelne Datensätze manuell geholt werden?
  • Wie steht es eigentlich bei den Datensätzen auch noch relationale Verknüpfungen?
  • Ist die (dortige) Datensatz-ID sicher auch in der Zielsolution eindeutig, oder erzeugt der:die Anwender:in evtl. hier schlimme Duplikate? (Sie könnten die Datensatz-ID auch gar nicht erst holen, dann wird sie neu vergeben, aber wenn an der Datensatz-ID noch mehr Daten „noch woanders dranhängen“, dann geht das auch nicht.)

Dann fällt uns bestimmt noch was ein.

Das mit dem Datenfilter hatte ich schon probiert, da ich aber dann darauf hingewiesen wurde, dass jetzt 48.600 Datensätze importiert würden, hielt ich den Ansatz für falsch und habe den Vorgang abgebrochen. Sie haben mir jetzt zumindest erklärt, wie der Vorgang abläuft, dass erst der Client die Auswahl trifft. Deswegen auch die Idee des Exportes. Da kann ich zuerst die Auswahl treffen und dann die Auswahl exportieren. Am Besten wäre es, von der einen Solution aus, den betreffenden Datensatz direkt in die andere Solution zu schreiben. Deswegen kam ich auf ODBC. Vielleicht geht so etwas auch über Verbindungsserver und man kann ein Script schreiben, das den Vorgang ausführt, aber daran hab ich mich bisher nicht gewagt. Ich bin auch nicht Der MS-SQL-Experte. Wie die Datensatz-ID letztendlich erzeugt wird, entzieht sich meiner Kenntnis, da wissen Sie besser Bescheid. Ich weiß nicht, ob es möglich sein kann, wenn ich Datensätze in verschiedenen Solutions anlege, ob sich da die Datensatz-ID wiederholen kann. Ausführlicher erläutern könnte man dies vielleicht in einem Telefonat.

Deswegen auch die Idee des Exportes. Da kann ich zuerst die Auswahl treffen und dann die Auswahl exportieren.

Da mit dem Wechsel in die „andere“ Solution auch ein Datenbankserver-Wechsel einhergehen müsste, halte ich das nicht für besonders komfortabel für die Anwender:innen. (Wenn Sie diesen Ansatz dennoch verfolgen möchten, also dass Anwender:innen Solutions auf einem anderen Server mit combit CRM öffnen, dann müssen Sie für den anderen Server in jedem Fall eigene cRM Lizenzen erwerben. Lizenzen für ein Test-/Staging System sind in der Enterprise Edition - ich habe nicht nachgesehen welche Edition Sie haben - zwar bereits enthalten, aber es würde sich hier ja um kein Test-/Staging System handeln.)

Meine Lösung sähe wir folgt aus (nur ein Vorschlag von vielen möglichen)

Ich würde die Tabelle mit den 45.000 potentiell in Frage kommenden Datensätzen einmalig in Ihre jetzige Solution und jetzigen Server übertragen (z.B: per SQL Server Management Studio) und zwar unter einem „sprechenden“ Tabellennamen („Kontakte_alt“, „Kontakte_Archiv“ was auch immer den Inhalt adäquat beschreibt). Dann sind Sie schonmal im „heimischen Universum“. :wink:

Dann können Sie sich eine Ansicht auf diese Tabelle im cRM einrichten (die vielleicht auch nicht jeder sehen können braucht).

Und dann können Sie sich z.B. ein Script schreiben, das die Anwender:innen per DialogSelectRecord(Multiple) aus dieser Ansicht einen/mehrere Datensatz/Datensätze auswählen lässt, und dann per NewRecord in der Zielansicht einen neuen Datensatz erzeugt und dort die zu übernehmenden Quellfelder per GetContentsValueByName ausgelesenen Felder mittels SetContentsValueByName in die richtigen Zielfelder schiebt und den Datensatz dann speichert.

Das wäre dann eine komfortable End-Anwender:innen taugliche Lösung. Und sie käme auch mit evtl. zwischenzeitlich gegenüber der Quelle geänderten Zielfeld-Feldnamen klar. :nerd_face:

Wenn wir lieber möchten, dass wir solch eine Lösung für Sie erstellen, dürfen Sie sich selbstverständlich gerne bei uns direkt melden. :phone: :+1:

Mir als Leser ist noch nicht ganz klar welchem Zweck das ganze dient.

Handelt es sich hier um eine Konstelation alter Server mit alter Solution und alten Daten und neuer Server mit neuer Solution (gleiche Tabelle, gleiche Spalten?) und neue Daten in die alte Daten „einzeln“ aber immer mal wieder übernommen werden sollen? Oder geht es wirklich nur um einen Datensatz der immer syncrhon bleiben soll?

Man kann mit einem Verbindungsserver und einem Trigger in MSSQL arbeiten, damit läßt sich eigentlich alles realisieren. Aber ohne klare Zielsetzung kann man auch mögliche Probleme nicht sehen. Was wenn ein Datensatz z.B. in der neuen DB schon existiert? Kann das vorkommen?

Warum nicht eventuell eine Übernahme und Markierung aller Datensätze aus der alten DB in die Neue? Wäre für den Benutzer eventuell leichter.

© combit GmbH