【问题标题】:"MYSCHEMA.sessions" is an undefined name“MYSCHEMA.sessions”是一个未定义的名称
【发布时间】:2024-05-15 23:10:01
【问题描述】:

当我尝试连接到我在适当架构中创建的 SESSIONS 表时,我收到此错误:

[IBM][CLI Driver][DB2/LINUXX8664] SQL0204N “MYSCHEMA.sessions”是一个未定义的名称。 SQLSTATE=42704

我像这样将 DSN 传递给会话:

var session = require("express-session")
  , Db2Store = require('connect-db2')(session);
var options = {
  dsn: 'DATABASE=MyDB;HOSTNAME=IpAddr;PORT=myPort;PROTOCOL=TCPIP;UID=db2_admin;PWD=db2_pwd;CurrentSchema=MYSCHEMA;'
}
var sessionStore = new Db2Store(options);
app.use(session({
  store: sessionStore,
  secret: "AAAAA:ZZZZZ:EEEEE"
}));

我错过了什么吗?

【问题讨论】:

  • 根据错误信息,您尝试选择"sessions",而不是"SESSIONS"。您可能希望包含导致错误的 exact 选择语句。
  • 我正在使用一个节点模块“connect-db2”来为我做这件事。我没有对会话表输入任何查询

标签: node.js session db2 session-storage db2-connect


【解决方案1】:

由于 DB2 自动大写问题:https://www.ibm.com/developerworks/data/library/techarticle/0203adamache/0203adamache.html#N1011C,在创建会话表时以及在 connect-db2/lib/connect-db2.js 文件中的模块内部时,我必须将表名、列和 As 子句放在引号之间

【讨论】: