On 24 Oct 2012 09:52, Tim Bronski wrote:
On 10/24/2012 4:16 PM, CRPence wrote:
<<SNIP>> I have no expectation nor hope that the FTP would handle
either "properly", just as I have no expectation that the FTP would
know what to do if there were NULL values.
Well, if I understand you correctly, you're expecting features in a
file transfer protocol that just aren't part of FTP.
Actually, the quoted *no expectation* better reflects my opinion; as
I wrote in the quoted 16:16 post [moved\quoted above]. Since
homogeneous FTP on IBM i already can transport some described database
data with success, I was merely expressing that IMO there is some
reasonableness in expectations that the FTP should be able to /function/
just as well with BLOB as with BINARY. In effect, playing the role of
"Devil's advocate".
There's no mechanism in ftp to identify a server os or release level
save for the unspecified helo type response so difficult to tell if
it's a homogenous request.
The reference to homogeneous for this case is a reference to an
effective 'trick' of the FTP. The trick is about encoding; meaning
non-image transport. When the two systems are EBCDIC, then "text" can
be an effective equivalent to binary, and as peers the connection might
legitimately [for this 'trick'] be called homogeneous.
Nor does ftp handle ANY data types at all, never mind blobs. Strictly
speaking ftp doesn't even recognize character set differences
(ascii/binary modes are only "hints" to the server).
I have composed many past messages describing how FTP is an incorrect
tool for transporting database data, regardless that the FTP often seems
able to effect that properly when using TYPE=EBCDIC and MODE=BLOCK. I
provided a link [with other links available indirectly] in another
message in this thread, where I describe actual and potential caveats
with the presumption that the database data can transport correctly with
FTP.
Perhaps you're saying that if a bit stream that corresponds to a
file's contents on system A were transferred to system B then it
should be possible to overlay this bit stream with the exact same
file definition and be aok.
Effectively. Two fixed-length record files should read and write the
identical binary data with no difficulty, just as two binary streams
would read and write identically.
You'd still have to define how that bit stream was constructed given
that the blob isn't necessarily contiguous in storage.
As database row data treated as fixed-length records, the data would
be read as a buffer of data in which contiguous storage is implicit.
However without a conceptual enhancement for a record format that can
represent greater than 32K fixed-length records, any LOB that could not
be treated as effectively CAST data to a more simple character string
constructed inline to the buffer, then the implication of inability to
transport is more obvious.
However my example purposely chose a "short" BLOB for which an
equivalent representation as a string of BINARY was possible; alluding
that differences in the support for the two given scenarios were not
inherently justifiable. That, even though I understand more generally
all of the players and all of the potential and actual difficulties.
Again. Although I alluded to the reasonableness for expectation of
some specific scenario(s) to be able to send database data, I have been
consistent with my emphasis that FTP is *not* a direct database data
transport mechanism; that a database transport mechanism, e.g. DRDA,
should be used if database data is to be transmitted directly.
Indirectly, after the database data has been transposed into either
purely binary or purely text data, then FTP is perfectly suited for data
transmission... but on both ends, the sending and receiving sides,
transformation is required into and out of the intermediate form that
was utilized to enable that more generic transport. My preferred form
for homogeneous systems within "target release" limitations backwards,
and presuming any later release will be able to "restore" my data, is a
Save File [though virtual tape may have eclipsed that choice over time].
Didn't we have SNADs for this sort of thing?
(did snads support blobs?)
SNA/DS is also not a database data transport utility, and would
suffer some similar limitations to the FTP. However because the SNA/DS
feature had support [¿only?] for data with a "record length", some of
the problems that FTP might exhibit for the same data are preventable;
i.e. problems the IBM i FTP intends to minimize using BLOCK and EBCDIC.
Regards, Chuck
As an Amazon Associate we earn from qualifying purchases.