Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 一个文件中有多个成员,其中包含一个blob_Java_Sql_Ibm Midrange_Jt400 - Fatal编程技术网

Java 一个文件中有多个成员,其中包含一个blob

Java 一个文件中有多个成员,其中包含一个blob,java,sql,ibm-midrange,jt400,Java,Sql,Ibm Midrange,Jt400,我想建模一个简单的“name->blob”结构,使用jt400.jar从Java中使用它(基本上是在数据库中而不是在IFS中存储大型不变的文件),这很容易用 CREATE TABLE TRATEST/X (NAME VARCHAR (256 ) NOT NULL WITH DEFAULT, BLOB BLOB NOT NULL WITH DEFAULT, BLOBPART INT NOT NULL WITH DEFAULT)

我想建模一个简单的“name->blob”结构,使用jt400.jar从Java中使用它(基本上是在数据库中而不是在IFS中存储大型不变的文件),这很容易用

CREATE TABLE TRATEST/X (NAME VARCHAR (256 ) NOT NULL WITH
DEFAULT, BLOB BLOB NOT NULL WITH DEFAULT, BLOBPART INT NOT NULL 
WITH DEFAULT)                                                   
(由于使用F4而导致的冗长)创建一个看起来像我想要的文件X

现在出于逻辑原因,我希望在X中有几个成员(如A、B和C),每个成员都建模自己的文件集,但我无法运行ADDPFM,因为我得到的错误是成员数超过了允许的最大值,并且我无法运行CFGPF文件(tratest/X)MAXMBRS(*nomax),因为它报告的值无效。对CPD3213的进一步阅读表明,这是因为该文件是作为SQL表创建的


有什么方法可以得到我想要的-一个带有blob字段和几个(编辑:特别命名)成员的文件,我可以从Java访问这些成员?

SQL表不支持正常意义上的物理文件成员,但它是一个选项

或者,您可以使用创建文件,但仍然可以通过SQL访问该文件。但是,您将无法将特定于SQL的字段类型(包括BLOB)添加到文件中


将流文件的路径存储在表中,将实际Blob作为流文件存储在IFS中,并使用访问它们可能更有效。

什么原因使您认为应该使用成员?后勤原因和CL的易用性。我想将所有Blob分组,以便在单个成员中进行单个部署。易于从CL使用,也许吧,但在SQL中要处理一件痛苦的事情——至少,您必须使用动态SQL来访问它们(创建
别名
),并且您必须知道从哪个开始(这意味着您需要一个隐式或显式的查找表)。除非你想永久地创建<代码>别名<代码> ES,否则你不希望并发进程跺脚,这通常意味着“代码> QTEMP ”但是我不确定驱动程序会如何反应(如果它考虑连接“关闭”,并清除文件夹).@Clockwork Muse在设置时,这将仅用于CL和Java,我将100%控制生成的SQL。另一种方法可能是通过/QSYS。。。问题是我是否可以在一个带有blob的文件中包含成员?本练习的全部目的是避免使用IFS(否则我可以只使用一个普通的可运行jar文件)。分区似乎是可选产品的一部分,我不能依赖于它在所有主机上都存在。