У меня есть вопрос относительно параметра, установленного в источнике данных.Проект, который я поддерживаю, очень старый и использует Sybase с ColdFusion 11. Я обновлял некоторый код на своей локальной машине, и все работало просто отлично.Как только я отправил тот же код на сервер разработки, я получил сообщения об ошибках.Вскоре я понял, что это связано с cfqueryparams
.Как только я удалил их, код работал нормально.Затем я нашел это в источнике данных на сервере разработки:
jdbc:sybase:Tds:example.com:5000/devtest?SQLINITSTRING=set QUOTED_IDENTIFIER off
Мне интересно, для чего предназначен этот параметр?Это то, что приносит пользу нашей системе с дополнительным уровнем безопасности?Никто в команде ничего не знает об этом, и они не хотят трогать этот код.Я хотел бы узнать больше об этом и понять, для чего используется.
Обновление
По предложению @Ageax я попытался сбросить cfsavecontent, и вот вывод:
<cfquery name="saveDtCk" datasource="testDB">
INSERT INTO formDetails (
recid,
formid,
refid,
status,
comment,
userid,
lastupdate
) VALUES (
<cfqueryparam cfsqltype="cf_sql_numeric" value="87550861491">,
<cfqueryparam cfsqltype="cf_sql_numeric" value="8755086149">,
1,
<cfqueryparam cfsqltype="cf_sql_tinyint" value="1">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="Test 1" maxlength="8000" null="NO">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="T54645" maxlength="6" null="NO">,
{ts '2019-02-25 10:32:52'}
)
INSERT INTO formDetails (
recid,
formid,
refid,
status,
comment,
userid,
lastupdate
) VALUES (
<cfqueryparam cfsqltype="cf_sql_numeric" value="87550861494">,
<cfqueryparam cfsqltype="cf_sql_numeric" value="8755086149">,
4,
<cfqueryparam cfsqltype="cf_sql_tinyint" value="1">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="Test 3" maxlength="8000" null="NO">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="T54645" maxlength="6" null="NO">,
{ts '2019-02-25 10:32:52'}
)
INSERT INTO formDetails (
recid,
formid,
refid,
status,
comment,
userid,
lastupdate
) VALUES (
<cfqueryparam cfsqltype="cf_sql_numeric" value="87550861493">,
<cfqueryparam cfsqltype="cf_sql_numeric" value="8755086149">,
3,
<cfqueryparam cfsqltype="cf_sql_tinyint" value="1">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="" maxlength="8000" null="YES">,
<cfqueryparam cfsqltype="cf_sql_varchar" value="T54645" maxlength="6" null="NO">,
{ts '2019-02-25 10:32:52'}
)
</cfquery>
Я пытался запустить кодвыше, как в cffunction
, и вот сообщение об ошибке:
The system has attempted to use an undefined value, which usually indicates a programming error, either in your code or some system code.
Null Pointers are another name for undefined values.
Я не уверен, почему и что может вызвать проблему, так как все кажется довольно простым.