JDBC 连接字符串 SQL Server 与 JSP 导致错误"Illegal escape character"



如果我的SQL Server 2012的名称是JOSEANREGULUS,我的连接字符串会是什么?

"jdbc:sqlserver://JOSEANREGULUS;databasename = BD12272"

然而,它导致了一个编译错误:

非法转义字符

这是怎么造成的,我该如何解决?

试试这个:

"jdbc:sqlserver://JOSEAN;instanceName=REGULUS;databaseName=BD12272"
java文档中说:

前面有反斜杠(\)的字符是转义序列,具有对编译器具有特殊意义。下表显示了Java转义序列:

  • \t此时在文本中插入一个选项卡
  • \b此时在文本中插入退格
  • \n此时在文本中插入换行符
  • \r此时在文本中插入回车符
  • \f此时在文本中插入一个表单提要
  • \'此时在文本中插入一个单引号字符
  • \"此时在文本中插入一个双引号字符
  • \\此时在文本中插入一个反斜杠

您的连接字符串有一个反斜杠,因此java需要一个转义序列,而\R不是(非法转义字符)。

因此,您必须转义反斜杠,并且您的连接字符串应该如下所示:

"jdbc:sqlserver://JOSEAN\REGULUS;databasename = BD12272"

最新更新