3

我在 Linux Centos 服务器上使用 iSeries Access ODBC 驱动程序使用 PHP/PDO 访问 as/400。

当网页进行 ODBC 查询时,它会写入 QZDASOINIT 上的作业日志。

是否有任何 ODBC.ini 设置可用于禁用写入作业日志、更改作业描述或使用的服务器程序?它淹没了日志,很难找到与 QZDASOINIT 相关的重要遗留作业。

4

2 回答 2

3

我在7.1。我的 QZDASOINIT 作业使用作业描述 QDFTSVR 运行,该作业描述设置为 LOG(4 0 *NOLIST)。除非服务器作业失败,否则我不会得到作业日志。在他们处于活动状态时查看工作,并查看他们使用的工作描述。此外,检查作业是否异常结束(这就是您获取作业日志的原因)。

于 2013-05-30T16:44:30.453 回答
2

我在 6.1 上,我们的 QZDASOINIT 作业使用作业描述 QGPL/QDFTJOBD 运行,我们的日志设置为 4 级,严重性 0 和 text = *NOLIST(就像 Buck 的一样)。

但是,在我们的作业日志中显示的唯一内容是诸如“ABC 库中的文件 XYZ 已存在”之类的内容,当调用程序时,执行查询不会导致将任何内容写入作业日志。

这是我的 odbc.ini

[primary]
Description             = primary
Driver                  = iSeries Access ODBC Driver
System                  = xxx.xxx.xxx.xxx
UserID                  = xxxxxxxxxx
Password                = xxxxxxxxxx
Naming                  = 0
DefaultLibraries        = QGPL
Database                = xxxxxxxxxx
ConnectionType          = 0
CommitMode              = 2
ExtendedDynamic         = 0
DefaultPkgLibrary       = QGPL
DefaultPackage          = A/DEFAULT(IBM),2,0,1,0,512
AllowDataCompression    = 1
LibraryView             = 0
AllowUnsupportedChar    = 0
ForceTranslation        = 0
Trace                   = 0

和我的 odbcinst.ini

[iSeries Access ODBC Driver]
Description     = iSeries Access for Linux ODBC Driver
Driver          = /usr/lib/libcwbodbc.so
Setup           = /usr/lib/libcwbodbcs.so
NOTE1           = If using unixODBC 2.2.11 or later and you want the 32 and 64-bit ODBC drivers to share DSN's,
NOTE2           = the following Driver64/Setup64 keywords will provide that support.
Driver64        = /usr/lib/lib64/libcwbodbc.so
Setup64         = /usr/lib/lib64/libcwbodbcs.so
Threading       = 2
DontDLClose     = 1
UsageCount      = 1

还有我的连接字符串:

$this->db_connection = new PDO("odbc:DRIVER={iSeries Access ODBC Driver};SYSTEM=10.xxx.xxx.xxx;PROTOCOL=TCPIP", $temp_username, $temp_password);

我不知道您可以在 odbc.ini 或 odbcinst.ini 中进行任何会影响登录 IBM i 的设置,我认为您需要更改 i 本身的某些内容,例如您是用户的工作描述与连接。

于 2013-05-30T17:27:13.640 回答