Dynamischer Daten Import / Export

datenbank

weil Einfach - produktiver ist
Mit der Freeware Version können bis zu 10.000 Datensätze verarbeitet werden!
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.

THEMA: AutoNotify: Emails verschicken mit .NET Adapter möglich?

AutoNotify: Emails verschicken mit .NET Adapter möglich? 5 Jahre 4 Monate her #612

  • BUG!
  • BUG!s Avatar
  • Offline
  • New Member
  • Beiträge: 8
Hallo zusammen,

ich lasse aktuell mit dem FH + Batch von einer MS SQL Datenbank Daten in eine Exceldatei schreiben.

Nun es wäre sehr angenhem, wenn man die Möglichkeit hätte sich per Email benachrichtigen zu lassen, wenn ein bestimmter Fall auftrifft bzw. eine Spalte einen bestimmten Wert enthält. Idealerweise würde die Email die komplette betroffene Zeile enthalten.

Hat schon jemand versucht sowas in der Art mit dem .NET Adapter zu bewerkstelligen?

Wäre für jede Idee sehr dankbar! Vielen Dank,
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: AutoNotify: Emails verschicken mit .NET Adapter möglich? 5 Jahre 4 Monate her #613

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
Das ist mit dem .NET Script Heater und folgenden kleinen Skript machbar.
// Diese Funktion ist zwingend erforderlich!
public object DoWork()
{
  if (InValues.Length != 1)
    throw new Exception("ein Eingangsparameter erwartet");

  // Falls Daten vorhanden diese per Email verschicken
  string body = (string)InValues[0].GetString();
  if (body != null && body.Length > 0)
  {
    // Mailserver Daten/Einstellungen hier ändern!
    string server = "mail.domain.local";
    string user = "user@domain.local";
    string passwort = "streng geheim";
    string from = "user@domain.local";
    string to = "an@domain.local";
    string subject = "Import/Export Emailbenachrichtigung";

    System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient(server);
    smtp.Credentials = new System.Net.NetworkCredential(user, passwort);

    string mailtext = "Ihre Nachricht hier einfügen";
    mailtext += "\r\n\r\nDatensatz:\r\n" + body;

    System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(from, to, subject, mailtext);
    smtp.Send(msg);
  }

  // Dummy Rückgabewert für den Filter Heater, false = Datensatz nicht filtern!
  return false;
}

Das Skript schick falls Eingangsdaten vorhanden diese Daten an die eingetragene Email Adresse. Mailserver und Anmeldedaten müssen im Skript konfiguriert werden.

Im Anhang befindet sich ein kleines Beispiel. Im Beispiel wird der Filter Heater verwendet, dieser dient lediglich dazu, damit das Skript auch ohne Verbindung zur WRITE Seite ausgeführt wird!

Die Bedingung, wann eine Email verschickt wird, wird mittels des If-Then-Else Heaters geprüft. Falls die Bedingung zutrifft, wandert der Output des String Append Heaters zum Skript Heater. Hier können Sie selbst entscheiden welche Daten sie per Email ggf. verschicken möchten.


Achtung: Manche Firewals oder auch Virenscanner blocken Programme die Emails verschicken möchten, evtl. müssen Sie eine Ausnahme für die FlowHeater.exe bzw. FHBatch.exe einrichten.

Anhang export_and_send_email.zip nicht gefunden

Anhang:
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: AutoNotify: Emails verschicken mit .NET Adapter möglich? 5 Jahre 4 Monate her #614

  • BUG!
  • BUG!s Avatar
  • Offline
  • New Member
  • Beiträge: 8
Hallo Herr Stark,

Vielen Dank für Ihre Bemühungen. Funktioniert sehr gut!

Ein kleine Sache wäre noch und zwar werden die Zeilenumbrüche (\r\n) in der varible body nicht erkannt.

Gibt es hierfür auch noch ein Workaraound?

Vielen Dank,
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: AutoNotify: Emails verschicken mit .NET Adapter möglich? 5 Jahre 4 Monate her #615

  • BUG!
  • BUG!s Avatar
  • Offline
  • New Member
  • Beiträge: 8
Hallo,

ich habe versucht die Zeilenumbrüche mit einer Replacefunktion zu realisieren.

body = body.Replace("XYZ", "\r\n");

Dies funktioniert auch, jedoch erhalte ich nach ein paar Datensätzen einen Fehler. Siehe Bild.
Anhang:
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: AutoNotify: Emails verschicken mit .NET Adapter möglich? 5 Jahre 4 Monate her #616

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Administrator
  • Beiträge: 1102
Diese Meldung kann eigentlich nur auftreten wenn Sie den Replace außerhalb der IF Bedingung durchführen. Hier das Skript mit dem String Replace so wie es funktionieren sollte.

Kleine Anmerkung) Es werden keine evtl. vorhandenen Zeilenumbrüche ohne dass es gewollt ist gefiltert! Ich denke da liegt ein anderes Problem bei Ihnen vor, dass die Zeilenumbrüche nicht in der Body Variablen ankommen?
// Diese Funktion ist zwingend erforderlich!
public object DoWork()
{
  if (InValues.Length != 1)
    throw new Exception("ein Eingangsparameter erwartet");

  // Falls Daten vorhanden diese per Email verschicken
  string body = (string)InValues[0].GetString();
  if (body != null && body.Length > 0)
  {
    body = body.Replace("XYZ", "\r\n");

    // Mailserver Daten/Einstellungen hier ändern!
    string server = "mail.domain.local";
    string user = "user@domain.local";
    string passwort = "streng geheim";
    string from = "user@domain.local";
    string to = "an@domain.local";
    string subject = "Import/Export Emailbenachrichtigung";

    System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient(server);
    smtp.Credentials = new System.Net.NetworkCredential(user, passwort);

    string mailtext = "Ihre Nachricht hier einfügen";
    mailtext += "\r\n\r\nDatensatz:\r\n" + body;

    System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(from, to, subject, mailtext);
    smtp.Send(msg);
  }

  // Dummy Rückgabewert für den Filter Heater, false = Datensatz nicht filtern!
  return false;
}
gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: AutoNotify: Emails verschicken mit .NET Adapter möglich? 5 Jahre 4 Monate her #617

  • BUG!
  • BUG!s Avatar
  • Offline
  • New Member
  • Beiträge: 8
Hallo Herr Stark,

Sie haben Recht, in der IF Bedingung tritt der Fehler nicht mehr auf.

Vielen Dank für Ihre Mühen.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Moderatoren: FlowHeater-Team
Ladezeit der Seite: 0.084 Sekunden