ich einzufügen versuchen/aktualisieren, um die Tabelle in der SQL Server-Datenbank, die gespeicherte Prozedur. Ich habe eine gespeicherte Prozedur und den Tabellentyp erstellt wie unten auch die Strukturtabelle istAusgabe mit gespeicherten procedue mit einfügen/aktualisieren, um die SQL Server-Datenbank
CREATE TYPE Dept_TT AS TABLE
(
dept_name varchar(64),
jax_dept_id char(32)
)
GO
ALTER PROCEDURE [dbo].[uspInsertorUpdateDep]
@dt_TT AS afm.Dept_TT READONLY
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRANSACTION;
UPDATE dep
SET dep.dept_name = t.dept_name,
dep.jax_dept_id = t.jax_dept_id
FROM [afm].[jax_dept] dep
INNER JOIN @dt_TT t ON dep.jax_dept_id = t.jax_dept_id
INSERT INTO [afm].[jax_dept](dept_name, jax_dept_id)
SELECT t.dept_name, t.jax_dept_id
FROM @dt_TT t
WHERE NOT EXISTS (SELECT 1
FROM [afm].[jax_dept]
WHERE jax_dept_id = t.jax_dept_id)
COMMIT TRANSACTION;
END;
Als ich die gespeicherte produre in dem SQL Server Management Studio ausführen es einfügen/aktualisiert die Datensätze wie erwartet. Ich raubend diese StoredProcedure in der biztalk Anwendung und versucht, die Anwendung auszuführen es Fehler wirft wie
Der Adapter konnte keine Nachricht übertragen gehen Port „WcfSendPort_SqlAdapterBinding_Procedures_dbo_Custom_Dep“ mit URL senden „MSSQL: //“. Es wird nach dem für diesen Sendeport angegebenen Wiederholungsintervall erneut übertragen. Details: "Microsoft.ServiceModel.Channels.Common.XmlReaderParsingException:.. Ein unerwarteter Methodenaufruf gemacht wurde Stellen Sie sicher, dass die XML wohlgeformt ist der Stack-Trace des Methodenaufruf war: Void WriteFullEndElement()
Nachfolgend finden. die Karte und Orchestrierung
aktiviert ich den Tracking und versucht, die XML zu sehen, die an den Sendeport gesendet wird, und es sieht gut aus, wie unten.
<ns0:uspInsertorUpdateDep xmlns:ns0="http://schemas.microsoft.com/Sql/2008/05/Procedures/dbo" xmlns:ns3="http://schemas.microsoft.com/Sql/2008/05/Types/TableTypes/afm" xmlns:ns4="http://schemas.datacontract.org/2004/07/System.Data" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ns0:dt_TT>
<ns3:Dept_TT>
<ns3:dept_name>XYZ</ns3:dept_name><ns3:jax_dept_id>RS</ns3:jax_dept_id></ns3:Dept_TT></ns0:dt_TT></ns0:uspInsertorUpdateDep>
nicht sicher, was soll ich here.I fehlt die andere haben Anwendung, die das selbe tut, unter Verwendung des Tabellentyps und der gespeicherten Prozedur ist es Co funktioniert gut. Jede Hilfe wird sehr geschätzt. Oder schlagen Sie einen anderen Ansatz zum Einfügen/Aktualisieren der SQL-Server-Datenbank vor
Hey. Sie sollten in Betracht ziehen, Ihre Antwort als Kommentar hinzuzufügen, da sie die Frage nicht wirklich beantwortet :) –
Ja, neuer Benutzer und ich haben nicht gesehen, dass ich seine Antwort kommentieren könnte – user8141306