我目前正致力于通过JDBC将一些数据从SQL Server数据库中提取到ServiceNow中。我遇到的问题是查询为某些列带回了空值。
我在SNOW上运行的查询是
select [Capacity (Bytes)]
from memory_table
返回列Capacity (Bytes)
的空值。在SQL Server数据库中,创建的表的列名为Capacity (Bytes)
,其中包含空格和括号,我认为这就是为什么它返回null。
我尝试在查询中的列名称周围添加括号,双引号和单引号,但结果是相同的。如果我尝试使用表格中另一列格式正确的查询,它就可以正常工作。
任何帮助都将不胜感激。
答案 0 :(得分:1)
我怀疑您遇到的问题是查询显示名称而不是列名,通过ServiceNow ODBC驱动程序和工具测试您的查询进行调试。 http://wiki.servicenow.com/index.php?title=Using_Interactive_SQL_With_ODBC
我怀疑您的查询会返回错误,因为这可能是显示名称。例如,如果您查询 [分配组] 而不是 assignment_group ,则会收到错误。
select number, short_description, [Assignment group] from incident where number = 'INC0012345';
结果
The following error information describes the failure
ODBC Call = SQLPrepareW()
SQL State = 42S22
Native error = 10125(278D)
Error Message = [SN][ODBC ServiceNow driver][OpenAccess SDK SQL Engine]Column:Assignment group not found.
切换到列名称将起作用
select number, short_description, assignment_group from incident where number = 'INC0012345';
结果
NUMBER short_description assignment_group
INC0012345 My incident short descrtiption 123b1c123f12f1234567e123b1234abc