我正在使用ColdFusion与Microsoft SQL Server 2005,有时我收到此错误:
"[Macromedia] [SQLServer JDBC Driver]对象已关闭."
回溯总会导致一个人们期望的SQL查询,即使是没有JOIN或输入参数的简单SELECT命令或者任何花哨的东西.
到目前为止,我听到的唯一解决方案是重新启动"服务",我只能想象它是指SQL Server服务.我已经尝试重新启动SQL Server和ColdFusion服务,但它仍然会随机发生.
(同样重新启动也不是解决方案.在生产环境中,任意页面都不能随意提供任意错误消息.)
当它发生时,它会持续发生几分钟,然后消失并可能在几秒钟或几分钟内恢复.当我开发应用程序的JavaScript部分时,它开始发生,它应该与ColdFusion代码或SQL命令无关.
到目前为止,我的在线搜索一直没有结果.
任何帮助赞赏.
有没有人得到"开源QR码库"与ColdFusion合作?我需要在ColdFusion中生成QR码.
但教程并不清楚如何配置文件,例如需要在哪个目录...
欢迎任何帮助和替代方案,谢谢.
我终于开始在cfscript中编写东西了,所以我开始编写一些必需的格式化函数.这是一个例子:
Function FormatBoolean(MyBool, Format) {
Switch(Format){
Case "YES/NO":{
If (MyBool eq 1)
Return "YES";
Else
Return "NO";
Break;
}
Default:{
If (MyBool eq 1)
Return "Yes";
Else
Return "";
Break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想做的是使Format成为可选参数.如果你不包含参数,该函数目前仍然会运行,但它找不到格式,似乎cfparam没有被转换为cfscript.
我是否只需要检查格式是否已定义并为其赋值?或者有更好的方法吗?
谢谢
有一个ColdFusion函数,我们必须传递100多个参数才能获得搜索结果.将这100个奇数参数传递给函数时,ColdFusion会抛出错误:" 404 not found"
我试图将CF服务器设置中的帖子大小限制从100增加到300但仍然出现错误.
在我的coldfusion页面上,我调用了PL/SQL过程.HTML表单使用UTF-8编码,oracle DB具有编码WE8ISO8859P1.那么在i_value下面的情况下会发生什么样的转换呢?
我对MS Word左引号(以UTF-8编码)发生的事情特别感兴趣E28098.当我i_value在PL/SQL中解码时,它变为18(十六进制).考虑到它是U + 2018,这是有道理的,但我仍然想知道为什么20吞下它.
<CFSTOREDPROC PROCEDURE = "my_schema.lib.write_field" datasource="#datasource#">
<cfprocparam cfsqltype="CF_SQL_VARCHAR" variable="i_name" value="remark" type="In">
<cfprocparam cfsqltype="CF_SQL_VARCHAR" variable="i_value" value="#Form.remark#" type="In">
</CFSTOREDPROC>
Run Code Online (Sandbox Code Playgroud) 我在ColdFusion和JSON方面遇到了一些问题.我的用户有文件名和其他关键字ç,其中包含像我们这样的字符,当我必须通过JSON传回它们时,这会让我感到痛苦.
当我在我的变量上使用魔术JSON命令时:
<cfcontent type="application/json">
<cfset variables.stGalleryItem = StructNew() />
<cfset variables.stGalleryItem["imagePath"] = siteRoot & '/images/350460/hellç.txt' />
<cfset variables.stGalleryItem["title"] = 'çççç' />
<cfset variables.stGalleryItem["author"] = 'HI' />
<cfset variables.stGalleryItem["text"] = 'aa' />
<cfset ArrayAppend(variables.arrGallery,variables.stGalleryItem) />
<cfoutput>
#Trim(SerializeJSON(variables.arrGallery))#
</cfoutput>
Run Code Online (Sandbox Code Playgroud)
吐出的角色是 ,没有任何好处.
有什么我可以做的来保护我的用户ç吗?
例如,如果我有一个类似<cf_AppSwitch action="Check">我的假设的自定义标签AppSwitch(action="Check"),但我不确定CF可以将其解析为自定义标签.
我能想到的另一个解决方案是编写一个包装函数并调用我的自定义标记,但这感觉多余.
似乎我过于简单化了一个更复杂的问题,所以任何见解都会受到赞赏(甚至为什么不支持/不应该支持).
使用变量时,范围评估顺序是众所周知/记录的.但是,在设置变量时,我找不到有关范围评估顺序的任何信息.
人们会认为它是相同的列表,但似乎有一些警告如下所示:
<cfset qryChain = queryNew("id,next")>
<!--- add some data so the cfloop kicks in --->
<cfloop query="qryChain">
<cfset Next = StructNew()>
<cfset Next.id = qryChain.next>
</cfloop>
Run Code Online (Sandbox Code Playgroud)
上面的代码试图重用它不应该的变量名,但是以一种意想不到的方式失败.
由于cfsets在查询循环中,因此范围评估顺序的第4项应该用于两者.而是Next被评估为Variables.Next(项目6),然后Next.id被评估为Variables.qryChain.next.id(项目4)并且失败.
这记录在哪里?它只是上面"使用"列表的第1-6项,但有一些注意事项?这些警告是故意还是错误?还有什么其他警告?
我试图将以下字符串插入sql xml字段
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Ip>x.x.x.x</Ip>
<CountryCode>CA</CountryCode>
<CountryName>Canada</CountryName>
<RegionCode>QC</RegionCode>
<RegionName>Québec</RegionName>
<City>Dorval</City>
<ZipCode>h9p1j3</ZipCode>
<Latitude>45.45000076293945</Latitude>
<Longitude>-73.75</Longitude>
<MetroCode></MetroCode>
<AreaCode></AreaCode>
</Response>
Run Code Online (Sandbox Code Playgroud)
插入代码如下所示:
INSERT
INTO Traffic(... , xmlGeoLocation, ...)
VALUES (
...
<!---
<cfqueryparam CFSQLType="cf_sql_varchar" value="#xmlGeoLocation#">,
--->
'#xmlGeoLocation#',
...
)
Run Code Online (Sandbox Code Playgroud)
发生了两件坏事:
魁北克变成了Québec
我收到一个错误说 [Macromedia][SQLServer JDBC Driver][SQLServer]XML parsing: line 8, character 16, illegal xml character
更新:
传入的测试流主要是单字节字符.
é是一个双字节字符.特别是C3A9
此外,我无法控制传入的xml流
coldfusion ×10
coldfusion-9 ×10
sql-server ×2
cfml ×1
coldfusion-8 ×1
java ×1
json ×1
openbd ×1
oracle ×1
plsql ×1
railo ×1
xml-parsing ×1