Ich benutze SQL Server 2008 R2 Profiler, um ein Problem in einer ColdFusion 7-Anwendung zu debuggen - die von jemand anderem entwickelt wurde - unter Windows 7 mit SQL Server 2008 R2 als ein Backend. Die Anwendung verwendete ursprünglich MS Access 2003 als Back-End, das später in SQL Server 2008 R2 konvertiert wurde. Der Profiler zeigt die folgende SQL, die SCOPE_IDENTITY() verwendet, aber wenn ich das Anwendungsstammverzeichnis mit einem Suchprogramm suche, hat keine Datei die SCOPE_IDENTITY() -Funktion irgendwo in ihrer SQL-Abfrage verwendet. Die SQL Server-Datenbank für die App enthält keine gespeicherten Prozeduren, Sichten, Funktionen usw. Alle SQL-Abfragen sind eingebettete Abfragen in ColdFusion-Dateien. Wo dann Profiler wird immer SCOPE_IDENTITY() Funktion:SQL Server Profiler zeigt SCOPE_IDENTITY(), während ColdFusion-Code es in keiner Abfrage verwendet
declare @p1 int
set @p1=11
exec sp_prepexec @p1 output,N'@P1 datetimeoffset,@P2 varchar(8000),@P3 int,@P4 varchar(8000)',N'insert into ProductItems (item_date , item_description, item_type)
values (
@P1 ,
@P2 ,
@P3 ,
) select SCOPE_IDENTITY()','2015-10-19 00:00:00 +00:00','Test description',1
select @p1
UPDATE Obwohl ursprünglich die App in CF entwickelt wurde 7, 7 CF später wurde CF9 aktualisiert und jetzt bin ich es auf dem lokalen Rechner debuggen, die hat CF 11. Ich weiß nicht, ob der Code auch aktualisiert wurde, als CF 7 durch CF 8 und dann durch CF 9 ersetzt wurde. Die CFquery, die das obige SQL im Profiler zu generieren scheint, sieht so aus. Außerdem sieht die Tabelle ProductItems eine Identitätsspalte haben, wird die Datenbank unter Verwendung keine Trigger und die cfquery-Tags sind nicht Attribut Ergebnis:
<cfquery name="addProductItems" datasource="#dtsource#">
insert into Productitems (item_date,item_description,item_type)
values (
<cfqueryPARAM value = "#item_dat#" CFSQLType = "CF_SQL_TIMESTAMP" null="#item_dat eq '-1'#">,
<cfqueryPARAM value = "#item_description#" CFSQLType = "CF_SQL_VARCHAR">,
<cfqueryPARAM value = "#item_type#" CFSQLType = "CF_SQL_INTEGER">
)
</cfquery>
Was ist der tatsächliche CF-Code für das INSERT oben? – Leigh