在 JDBC 中使用命名参数时是不是有任何非法字符?
Posted
技术标签:
【中文标题】在 JDBC 中使用命名参数时是不是有任何非法字符?【英文标题】:Are there any illegal characters when using named parameters in JDBC?在 JDBC 中使用命名参数时是否有任何非法字符? 【发布时间】:2009-01-07 22:09:35 【问题描述】:我在查询中使用命名参数来匹配类似地图的数据结构中的字段。数据结构可以有字段,或者其他类似地图的数据结构。这种嵌套结构是可重复的,令人作呕。
我想使用类似 XPath 的语言来命名查询中的参数,可以对其进行解析以指示进一步的嵌套查找。
那么问题来了,在命名参数声明中哪些字符是合法的?
【问题讨论】:
【参考方案1】:命名参数至少应与数据库中对参数名的限制兼容。
对于 Oracle,参数名称由一个字母组成,可选地后跟多个字母、数字、美元符号、下划线和数字符号。 参数名称不应超过 30 个字符。 因此不允许使用连字符、斜杠和空格等字符。
【讨论】:
你有一个偶然的链接吗? 我想答案只是它是特定于实现的。本以为会有一个普遍的限制,比如在 ANSI 或其他东西中,但我猜不是。以上是关于在 JDBC 中使用命名参数时是不是有任何非法字符?的主要内容,如果未能解决你的问题,请参考以下文章