Я использую профилировщик SQL Server 2008 R2 для отладки проблемы в приложении ColdFusion 7, разработанном кем-то другим, работающим в Windows 7 с SQL Server 2008 R2 как бэкэнд. Первоначально приложение использовало MS Access 2003 в качестве бэкэнд, который впоследствии был преобразован в SQL Server 2008 R2. Профайлер показывает следующий SQL, который использует SCOPE_IDENTITY(), но при поиске в корневом каталоге приложения с помощью утилиты поиска ни один файл не имеет функции SCOPE_IDENTITY(), используемой в любом месте своего SQL-запроса. База данных SQL Server для приложения не имеет хранимой процедуры, представлений, функций и т. Д. Все SQL-запросы являются встроенными запросами в файлах ColdFusion. Функция Где же Profiler получает SCOPE_IDENTITY():Профилировщик SQL Server, показывающий SCOPE_IDENTITY(), в то время как код ColdFusion не использует его ни в одном запросе
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 Хотя изначально приложение было разработано в CF 7, CF 7 позже был повышен до CF9 и теперь я ее отладки на локальном компьютере, на котором CF 11. Я не знаю, был ли код также обновлен, когда CF 7 был заменен CF 8, а затем CF 9. CFquery, который, похоже, генерирует вышеупомянутый SQL в профилировщике. Кроме того, таблица ProductItems имеет столбец идентификаторов, база данных не использует никаких триггеров, а теги CFquery не используется атрибут результата:
<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>
Каков фактический CF-код для INSERT выше? – Leigh