UniDump - BLOB column problems
Posted: Tue 27 Aug 2019 15:03
Hello,
I am using Delphi 10.3.2, UniDAC 8.0.1, FirebirdSQL 2.5.9.27139, targeting Win32 platform.
My database have SpecificOption Codepage = WIN1254
1) I have a table created as below:
I do take above table backup using TUniDump. It is used with default options. There is no FirebirdSQL related SpecificOptions that can be modified.
When I take a backup, generated file cannot be restored. First exception says:
Second exception says:
That file contains report designs in BLOB format. It seems UniDump is not taking care of binary BLOB objects for FirebaseSQL. So I wonder if there is any workaround that can be used to be able to do *complete* database backup and restores without any problems.
2) Moreover, I have another table created as following:
That table contains electronic invoices as XML text files in CONTENT column. I am also having problem restoring that table backup even if it is plain text readable in backed up file. Received error is very similar to binary BLOB one:
3) Lastly, I fail to restore below small script. I get no error, nothing and data is not restored. I see nothing even in debug mode. No first chance exceptions. I am thinking that I might be doing something wrong about that.
Script:
Delphi code used for restore:
Table DDL:
Database is accessed with SpecificOption CodePage = Win1254.
I have deleted first record in above script "10, Satış" from table and it is not coming back after executing restore at above line.
Any help is appreciated.
I am using Delphi 10.3.2, UniDAC 8.0.1, FirebirdSQL 2.5.9.27139, targeting Win32 platform.
My database have SpecificOption Codepage = WIN1254
1) I have a table created as below:
Code: Select all
CREATE TABLE DOCUMENTFILE (
DOCUMENTFILEID INTEGER NOT NULL PRIMARY KEY,
DOCUMENTFILEDOC BLOB SUB_TYPE BINARY SEGMENT SIZE 20,
DOCUMENTFILEDOCTYPE VARCHAR(5),
DOCUMENTFILEDOCNAME VARCHAR(100),
NOTE VARCHAR(100)
);
When I take a backup, generated file cannot be restored. First exception says:
Code: Select all
Dynamic SQL Error
SQL error code = -104
Unexpected end of command - line 1, column 38.
Code: Select all
Parser: The unknown symbol $000B ''
2) Moreover, I have another table created as following:
Code: Select all
CREATE DOMAIN "BOOLEAN" AS
SMALLINT
CHECK (value is null or value in (0,1));
CREATE TABLE EINVOICEIN (
UUID VARCHAR(38) NOT NULL PRIMARY KEY,
ID VARCHAR(20),
DOCUMENTID INTEGER,
SENDER VARCHAR(100),
RECEIVER VARCHAR(100),
SUPPLIER VARCHAR(100),
CUSTOMER VARCHAR(100),
ISSUEDATE DATE,
CREATEDATETIME TIMESTAMP,
CURRENCY VARCHAR(5),
AMOUNT NUMERIC(18,4),
INVOICETYPECODE VARCHAR(5),
STATUS VARCHAR(20),
STATUSDESCRIPTION VARCHAR(100),
GIBSTATUSCODE SMALLINT,
GIBSTATUSDESCRIPTION VARCHAR(100),
RESPONSECODE VARCHAR(20) CHARACTER SET NONE,
RESPONSEDESCRIPTION VARCHAR(100),
CONTENT BLOB SUB_TYPE TEXT SEGMENT SIZE 4096,
LOCKED SMALLINT DEFAULT 0,
INOUT "BOOLEAN",
REPLYTOINVOICE "BOOLEAN",
REJECTEDINVOICE "BOOLEAN",
ROOTINVOICE "BOOLEAN",
COMMERCIALINVOICE "BOOLEAN",
RETURNEDINVOICE "BOOLEAN"
);
Code: Select all
Dynamic SQL Error
SQL error code = -104
Unexpected end of command - line 91, column 296.
Script:
Code: Select all
-- UniDAC version: 8.0.1
-- InterBase server version: 2.5.9.27139
-- InterBase client version: 2.5
-- Script date 27.08.2019 17:40:32
DELETE FROM ACCOUNTINGFORMTYPE;
INSERT INTO ACCOUNTINGFORMTYPE VALUES (10, 'Satış');
INSERT INTO ACCOUNTINGFORMTYPE VALUES (20, 'Alış');
INSERT INTO ACCOUNTINGFORMTYPE VALUES (30, 'Ödeme');
INSERT INTO ACCOUNTINGFORMTYPE VALUES (40, 'Tahsilat');
Code: Select all
UniDump1.RestoreFromFile('20190827_174032.bak');
Code: Select all
CREATE TABLE ACCOUNTINGFORMTYPE (
ACCOUNTINGFORMTYPEID INTEGER NOT NULL,
ACCOUNTINGFORMTYPENAME VARCHAR(100)
);
I have deleted first record in above script "10, Satış" from table and it is not coming back after executing restore at above line.
Any help is appreciated.