SQLserver 关键字作列名
2018-06-07 本文已影响21人
DreamOver
在用 Informatica 从 SQLserver 中抽取数据时碰到这样一个错误:
![](https://img.haomeiwen.com/i149436/de0731486226338e.png)
实际上,这是一个非常简单的 mapping,从源表直抽数据至目标表,没有转换逻辑:
![](https://img.haomeiwen.com/i149436/e1e6569513bcd9fb.png)
从 Monitor 的 session log 中获取详细的 insert SQL,拿到源数据库中执行,发现报了同样的错误。这时候,IDE 把 group 字段高亮显示:
![](https://img.haomeiwen.com/i149436/3123ad53d0e74dd3.png)
恍然大悟,SQLserver 中 group 是个关键字,用关键字作列名时,需要加上中括号:
![](https://img.haomeiwen.com/i149436/45965f69215b81a3.png)
这样,需要修改 Informatica Designer 的 mapping,在 Source Qualifier 中手写正确的 SQL,再跑工作流,就 OK 了:
![](https://img.haomeiwen.com/i149436/a783710aea1f9c93.png)