DbServer.BLOBDirectExport Method (Long, FileSpec, Long) | |
Export the contents of a binary large object (BLOB) pointer to a file.
Namespace:
XSharp.VO.SDK
Assembly:
XSharp.VORDDClasses (in XSharp.VORDDClasses.dll) Version: 2.21
Syntax VIRTUAL METHOD BLOBDirectExport(
nPointer AS LONG,
oFSTarget AS FileSpec,
kMode AS LONG
) AS USUAL
public virtual Usual BLOBDirectExport(
int nPointer,
FileSpec oFSTarget,
[DefaultParameterValueAttribute(1, 0)] int kMode
)
Request Example
View SourceParameters
- nPointer
- Type: Long
A pointer to the BLOB data. This pointer can be obtained using DBServer:BLOBDirectPut(), DBServer:BLOBDirectExport(), or DBServer:FieldInfo(DBS_BLOB_POINTER, nFieldPos).
- oFSTarget
- Type: FileSpec
A string or filespec object that specifies the name of the target file where the BLOB data will be written, including an optional drive, directory, and extension. See SetDefault() and SetPath() for file searching and creation rules. No default extension is assumed.
If oFSTarget does not exist, it is created. If it exists, this method attempts to open the file in exclusive mode and, if successful, the file is written to without warning or error. If access is denied because, for example, another process is using the file, NetErr() is set to TRUE and the data server's Status property is set.
- kMode
- Type: Long
A constant defining the copy mode, as shown in the table below:
Constant | Description |
---|
BLOB_EXPORT_APPEND
| Appends to the file |
BLOB_EXPORT_OVERWRITE
| Overwrites the file—this is the default |
Return Value
Type:
Usual
TRUE if successful; otherwise, FALSE.
Remarks Tip |
---|
A BLOB file (.DBV or .FPT) is used for storing memo field information, as an alternative to the standard .DBT file mechanism supported by some RDDs. It is a more powerful and efficient mechanism for storing and retrieving large amounts of data than using .DBT files. X# supplies the DBFCDX driver, which uses the BLOB file storage mechanism by default, and the DBFBLOB driver, which you can use as an inherited driver with other RDDs. Refer to the "RDD Specifics" appendix in the Programmer's Guide for further information on using this driver. |
Examples
This example extracts an array of pointers from the BLOB file's root area, then uses one of the pointers to export a picture to a file:
1FUNCTION PutPix()
2LOCAL cPixFile AS STRING
3LOCAL nPointer
4LOCAL aBLOBPtrs AS ARRAY
5LOCAL oDBCust AS DBServer
6cPixFile := "picture.gif"
7
8
9oDBCust := Customer{}
10
11
12
13aBLOBPtrs := BLOBRootGet()
14nPointer := aBLOBPtrs[2]
15
16IF !oDBCust:BLOBDirectExport(nPointer, cPixFile, BLOB_EXPORT_OVERWRITE)
17Alert("Export of picture " + cPixFile + "failed!")
18ELSE
19
20ENDIF
See Also