是否有iSeries命令将表中的数据导出为CSV格式?
我知道Windows实用程序,但由于这需要自动运行,我需要从CL程序运行它.
我在glassfish服务器上使用open esb.我们有一个与as400数据库一起使用的连接池.
每隔几天我们就会收到此错误:分配连接时出错.原因:正在使用的连接等于max-pool-size和expired max-wait-time.无法分配更多连接
缓解cp的最佳方法是重启服务器.我们还设法设置了另一个具有相同属性的cp.
我的问题是:有没有办法主动"告诉"cp释放所有打开的连接?
干杯,伊兰
我正在尝试在IBM i(V5R4)上创建一个外部存储过程,但是在尝试运行它时出现错误。
我要做的就是调用RPG程序,而无需传递任何参数或担心返回任何数据。抱歉,我不是RPG程序员或IBM i专家,所以我可能会缺少一些非常简单的东西。
创建过程的SQL:
CREATE PROCEDURE SOMELIB.SOMEPROC ( )
LANGUAGE RPGLE
NOT DETERMINISTIC
NO SQL
EXTERNAL NAME 'OTHERLIB/SOMERG'
PARAMETER STYLE GENERAL;
Run Code Online (Sandbox Code Playgroud)
执行CALL SOMELIB.SOMEPROC()时出现的错误是:
SQL状态:38501
供应商代码:-443
消息:[CEE9901]应用程序错误。BB1002RG在语句2100000001的X'0000'指令中未监视RNX1216。原因。。。。。:由于发生异常且未处理异常,因此应用程序异常结束。将未处理的异常发送到的程序的名称为SOMERG SOMERG。发送消息时,程序已在高级语言语句编号处停止。如果显示了多个语句号,则该程序是优化的ILE程序。优化不允许确定单个语句号。如果* N显示为一个值,则表示实际值不可用。恢复。。。:请参阅前面列出的低级消息,以查找导致异常的原因。更正所有错误,然后重试该请求。
我想使用我声明的变量在DB2 System I Navigator工具中为DB2运行一些ad hoc select语句.
例如,在SQL Server世界中,我很容易在SQL Server Management Studio查询窗口中执行此操作,如下所示:
DECLARE @VariableName varchar(50);
SET @VariableName = 'blah blah';
select * from TableName where Column = @VariableName;
Run Code Online (Sandbox Code Playgroud)
如何在IBM System I Navigator工具中执行类似的操作?
这是我的情况:我的程序A看起来像这样:
Fmfile IF E K DISK USROPN d grue s like(dhseqn) d C *ENTRY PLIST C PARM grue c open mfile c*** do something with grue c close mfile c eval *inlr = *on
dhseqn是一个2,0 S的领域.
编译清单向我展示了这个:
*RNF7031 DHSEQN P(2,0) 000200 1000002D
GRUE P(2,0) 000200D 000500M 000700 000800M
BASED(_QRNL_PRM+)
当我用一个声明为2.0 S的参数调用程序A时,我得到一个十进制数据错误.
这是预期的,还是这个编译器错误?
我完全没有AS400 DB2的经验,所以请原谅任何明显的错误,因为我正在学习.我有2盒,我可以连接到运行V5R3或V4R3. 我正在使用NHibernate 3.但是,当我尝试连接时,我不断得到以下异常: -
ERROR [08001] [IBM] SQL30081N A communication error has been detected.
Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS".
Location where the error was detected: "192.168.1.11". Communication function detecting the error: "connect". Protocol specific error code(s): "10061", "*", "*". SQLSTATE=08001
Run Code Online (Sandbox Code Playgroud)
下面是我的NHibernate配置文件: -
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="dialect">NHibernate.Dialect.DB2400Dialect</property>
<property name="connection.driver_class">NHibernate.Driver.DB2Driver</property>
<property name="connection.connection_string">Server=192.168.1.11;Database=TESTDB;UID=XXX;PWD=XXX; </property>
<property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle</property>
<property name="command_timeout">15000</property>
<property name="current_session_context_class">thread_static</property>
</session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)
我不确定这是不是因为AS400的版本太早了?我的nhibernate配置不正确?或者我在AS400上设置了错误的东西.
任何建议都将非常感激.
提前谢谢了
我在DB2中运行两个查询
SELECT * from mrptable FETCH FIRST ROW ONLY
--result for mrpcolumn = 1150131
SELECT mrpcolumn FROM mrptable FETCH FIRST ROW ONLY
--result for mrpcolumn = 0
Run Code Online (Sandbox Code Playgroud)
为什么这两个结果会有所不同?
SELECT COALESCE(value, 'M')
FROM MyTable
Run Code Online (Sandbox Code Playgroud)
如果该值为空,则返回的值将设置为“ M”
如果值是空字符串,是否具有与COALESCE类似的功能?
IBM i版本:7.1
我发现我可以使用qsh对IBM i(as400)对象运行unix命令.我想在IBM i qsh中使用ls将对象列表流式传输到ifs上的文件.这有效,但输出似乎是在EBCDIC中,并不是很可读.有没有办法转换为ASCII?
ls -ails /QSYS.LIB/ERP.LIB > all_ERP_files.txt
Run Code Online (Sandbox Code Playgroud)