Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Infopath - Daten in SQL Datenbank schreiben

Mitglied: Zorsin

Zorsin (Level 1) - Jetzt verbinden

23.08.2013, aktualisiert 12:13 Uhr, 2965 Aufrufe, 3 Kommentare

Moin,

ich haben ein Formular mit Infopath 2013 erstellt. In das Formular trägt man eine Nummer ein und es werden Daten aus einer MSSQL-Datenbank ausgegeben.
Das funktioniert auch soweit.

Nun möchte ich einen Teil der Daten wieder in eine andere Datenbank schreiben.
Und das funktioniert nicht!

Ich habe schon folgendes probiert:
Über benutzerdefinierten Code eine Verbindung zum SQL Server herzustellen - ist nicht mit nur C# Code möglich, weil die SQL Klassen fehlen bzw. ich benötige eine DataConnection zum Senden, wenn ich aber eine neue Datenverbindung einrichten möchte und dann Daten senden auswähle, kann man sich nicht mit einem SQL Server verbinden.

Über Infopath Bordmittel - auch hier fehlt mir die Datenverbindung.

Ich freue mich über Antworten.

Freundliche Grüße
Zorsin
Mitglied: colinardo
25.08.2013 um 17:07 Uhr
Hallo Zorsin,
mit Bordmitteln wirst du so keine Lösung finden, da bei einer bereits existierenden MSSQL-Verbindung zum Abfragen von Daten keine weitere Verbindung zu einem MSSQL-Server zum senden aufgebaut werden kann. Wenn du dies erreichen willst bleibt entweder die Môglichkeit die Prozedur manuell in Visual Studio 2012 umzusetzen oder einen eher für diesen Zweck geeigneten Webservice einzurichten der diese Methoden für dein Formular bereitstellt.

Wie man eine Verbindung zu einem MSSQL Server via Code aufbaut, steht zu Hauf im Netz.

Grüße Uwe
Bitte warten ..
Mitglied: Zorsin
26.08.2013 um 09:36 Uhr
Hallo Uwe,

danke für deine Antwort.
Ich habe schon versucht eine Verbindung mit VS2012 aufzubauen und das funktioniert auch, wenn ich aber den SQL Befehl in "INSERT INTO..." ändere passiert nichts.

Ich vermute, dass es Probleme gibt mit der AdoQueryConnection-Klasse, da diese nur zum empfangen von Daten ausgelegt ist.
Die AdoSubmitConnection-Klasse kann ich nicht nutzen, weil ich eine DataConnection zum Senden benötige, bei der ich nicht weiß wie ich diese einrichte.

Code für das Abfragen:
AdoQueryConnection Tabelle1Connection = (AdoQueryConnection)(this.DataConnections["Tabelle1"]);
string strSQLQuery = "SELECT * FROM Datenbank.dbo.Tabelle1 JOIN Tabelle2 ON Tabelle1.BelID = Tabelle2.Belegnummer";
Tabelle1Connection.Command = strSQLQuery;
Tabelle1Connection.Execute();
Dieser Code funktioniert einwandfrei.

Code fürs Reinschreiben:
AdoQueryConnection Tabelle3Connection = (AdoQueryConnection)(this.DataConnections["Tabelle3"]);
string strSQLQuery = "INSERT INTO Datenbank.dbo.Tabelle3 (Jahr,Nummer,Belegnummer) Values ('2013','2','101010')";
Tabelle3Connection.Command = strSQLQuery;
Tabelle3Connection.Execute();
Dieser Code funktioniert nicht.

Wenn ich AdoSubmitConnection anstatt von AdoQueryConnection nutze, bekomme ich, logischerweise, diese Fehlermeldung:
System.InvalidCastException
Das Objekt des Typs "Microsoft.Office.InfoPath.Internal.AdoQueryConnectionHost" kann nicht in Typ "Microsoft.Office.InfoPath.AdoSubmitConnection" umgewandelt werden.

Entdeckt jemand einen Fehler oder hat einen andere Lösungsvorschlag?

Grüße Zorsin
Bitte warten ..
Mitglied: colinardo
26.08.2013 um 10:21 Uhr
Hallo Zorsin,
ich dachte mit manueller Übertragung der Daten nicht, dass du die SQL-Verbindung in Infopath einbindest, sondern ohne das AdoQueryConnectionHost Objekt - also die Felder im Code abfragst, und diese dann an die SQL-Datenbank überträgst.

Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Datenbanken
Wiederherstellung SQL Datenbank
Frage von mastertulleDatenbanken1 Kommentar

Hallo liebe Community, ich habe folgende Frage: Ich habe eine Datenbank per TDE verschlüsslt. Unter Datenbankoptionen habe ich die ...

Datenbanken
SQL Datenbank durchsuchen
gelöst Frage von andre1988Datenbanken4 Kommentare

Hallo zusammen, ich bin auf meiner Arbeit für die Citrix Umgebung zuständig. Ich musste ein Server aus der Citrix ...

Windows Server
SQL Datenbank Umzug
gelöst Frage von hornissenmannWindows Server4 Kommentare

Hallo Gemeinde, ich möchte einen SQL 2008 Server/MS Server 2008 umziehen/migrieren auf einen SQL 2012 Server/MS Server 2012 R2 ...

Windows Server
SQL-Datenbank plötzlich langsam
Frage von hanheikWindows Server9 Kommentare

Bei einem Kunden läuft in einem kleinen Netzwerk, bestehend aus SBS 2011-Server und 5 WIN 7-Clients eine SQL basierte ...

Neue Wissensbeiträge
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 2 TagenHumor (lol)3 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 2 TagenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 6 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 6 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
PCIe 1.0 Grafikkarte für 3840x2160
Frage von Windows10GegnerGrafikkarten & Monitore29 Kommentare

Hallo, mein Vater hat einen neuen Monitor gekauft, welcher eine native Auflösung von 3840*2160 hat. Diese muss jetzt auch ...

Windows 10
Windows Enterprise 1809 Eval nicht bootbar
Frage von Sunny89Windows 1022 Kommentare

Hallo zusammen, bevor ich mich jetzt noch stundenlang rumärger wollte ich euch fragen, ob Ihr die gleichen Probleme habt ...

Windows Server
Dienstnamen und oder Deutsche und Englische Beschreibung in services.msc gleichzeitig anzeigen
gelöst Frage von vafk18Windows Server17 Kommentare

Guten Morgen, die Suche nach Diensten in services.msc gestaltet sich immer wieder schwierig, weil mir je nach Aufgabe die ...

Linux
Info Monitor für eine Schule
gelöst Frage von CAT404Linux13 Kommentare

Moin, ich möchte einen Infomonitor betreiben; derzeit läuft da ein Windows 10 Rechner bei dem Firefox beim Start in ...