java文档中说:
如果我的SQL Server 2012的名称是JOSEANREGULUS
,我的连接字符串会是什么?
"jdbc:sqlserver://JOSEANREGULUS;databasename = BD12272"
然而,它导致了一个编译错误:
非法转义字符
这是怎么造成的,我该如何解决?
试试这个:
"jdbc:sqlserver://JOSEAN;instanceName=REGULUS;databaseName=BD12272"
前面有反斜杠(\)的字符是转义序列,具有对编译器具有特殊意义。下表显示了Java转义序列:
- \t此时在文本中插入一个选项卡
- \b此时在文本中插入退格
- \n此时在文本中插入换行符
- \r此时在文本中插入回车符
- \f此时在文本中插入一个表单提要
- \'此时在文本中插入一个单引号字符
- \"此时在文本中插入一个双引号字符
- \\此时在文本中插入一个反斜杠
您的连接字符串有一个反斜杠,因此java需要一个转义序列,而\R不是(非法转义字符)。
因此,您必须转义反斜杠,并且您的连接字符串应该如下所示:
"jdbc:sqlserver://JOSEAN\REGULUS;databasename = BD12272"