2017-06-05 2 views
0

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

Antwort

0

Setzen Sie die Aktion für den Adapter entweder explizit in den Bindungen oder in einer Orchestrierung oder fügen Sie sie dem Kontext manuell hinzu?

+0

Hey. Sie sollten in Betracht ziehen, Ihre Antwort als Kommentar hinzuzufügen, da sie die Frage nicht wirklich beantwortet :) –

+1

Ja, neuer Benutzer und ich haben nicht gesehen, dass ich seine Antwort kommentieren könnte – user8141306

Verwandte Themen