无法使用 node-ibm_db 从 SQL 数据库表 select

Unable to select from SQL Database tables using node-ibm_db

我通过上传 csv (baseball.csv) 在 Bluemix SQL 数据库服务中创建了一个新的 table 并采用了默认的 table 名称 "baseball".

我在 Node.js 中创建了一个简单的应用程序,它只是试图 select 来自 table 的数据和 select * from baseball,但我不断收到以下错误:

[IBM][CLI Driver][DB2/NT] SQL0204N "USERxxxx.BASEBALL" in an undefined name

为什么找不到我的数据库table?

这个问题似乎与 bluemix 无关,而是使用错误。

此错误可能是由以下原因引起的:

名称标识的对象未在数据库中定义。

用户响应

确保在 SQL 语句中正确指定了对象名称(包括任何必需的限定符)并且它存在。

尝试从命令提示符 运行 "list tables" 检查您的 table 拼写是否正确。

http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.messages.sql.doc/doc/msql00204n.html?cp=SSEPGG_9.7.0%2F2-6-27-0-130

我在 bluemix 中从 SQL 数据库 Web UI 创建了 table,并采用了默认名称 baseball。看起来这会创建一个区分大小写的 table 名称。

对我来说不幸的是,sql_db 库(以及我相信的所有 db2 客户端)将 SQL 查询自动大写为 "SELECT * FROM BASEBALL"

解决方案是

一个。在网络中明确命名我的 table BASEBALL UI;或者

乙。通过引用 table 名称修改我的 sql 查询:

select * from "baseball"

更多信息请访问 http://www.ibm.com/developerworks/data/library/techarticle/0203adamache/0203adamache.html#N10121