Charset in connectionstring is UNICODE_FSS.
The data isn't also correct when reading it as bytes (with ODBC it works OK)

Hereby the examples (Table + Source + Data)
//Table DDL + Domains
CREATE TABLE "CountryCodes" (
  COUNTRY_SID "DOMSid" NOT NULL,
  COUNTRY_CODE_A2 "DOMIsoA2" NOT NULL,
  COUNTRY_CODE_A3 "DOMIsoA3" NOT NULL,
  COUNTRY_CODE_N3 "DOMIsoN3" NOT NULL,
  COUNTRY_DEF_DESCR "DOMCountryDescr" NOT NULL,
  TIMEZONE_SID "DOMSid" NOT NULL,
  IS_EU_MEMBER BOOL DEFAULT 0 NOT NULL,
  VAT_PREFIX "DOMVatPrefix",
  STATUS BOOL NOT NULL);

CREATE DOMAIN "DOMSid" AS   BIGINT   NOT NULL;
CREATE DOMAIN "DOMIsoA2" AS  CHAR(2) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS;
CREATE DOMAIN "DOMIsoA3" AS  CHAR(3) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS;
CREATE DOMAIN "DOMIsoN3" AS  CHAR(3) CHARACTER SET UNICODE_FSS COLLATE UNICODE_FSS;
CREATE DOMAIN "DOMCountryDescr" AS   VARCHAR(70) CHARACTER SET UNICODE_FSS  NOT NULL COLLATE UNICODE_FSS;
CREATE DOMAIN "DOMVatPrefix" AS   CHAR(2) CHARACTER SET UNICODE_FSS  COLLATE UNICODE_FSS;
CREATE DOMAIN BOOL AS
  SMALLINT
  DEFAULT 1
  NOT NULL
CHECK (VALUE BETWEEN 0 and 1);

//Source Code
FbConnectionStringBuilder cs = new FbConnectionStringBuilder();

            cs.DataSource = "localhost";
            cs.Database = "C:\\JLICRM1.FDB";
            cs.UserID = "SYSDBA";
            cs.Password = "masterkey";
            cs.Dialect = 3;
            cs.Port         = 3050;
            cs.Charset     = "UNICODE_FSS";
            cs.Pooling         = true;
            cs.ConnectionLifeTime = 30;
            cs.ServerType = 0; // To use the embedded server set the ServerType to 1
            FbConnection connection = new FbConnection(cs.ToString());
            connection.Open();
            FbTransaction transaction = connection.BeginTransaction();
            string SelectQuery = "SELECT COUNTRY_DEF_DESCR from \"CountryCodes\"";
            FbCommand command = new FbCommand(SelectQuery, connection, transaction);
            FbDataReader myReader;
            myReader = command.ExecuteReader();
            while(myReader.Read())
            {
                    cmbtst1.Items.Add(myReader.GetString(0));
            }

            transaction.Commit();
            connection.Close();
//Sample DATA
INSERT INTO "CountryCodes" (COUNTRY_SID, COUNTRY_CODE_A2, COUNTRY_CODE_A3, COUNTRY_CODE_N3, COUNTRY_DEF_DESCR, TIMEZONE_SID, IS_EU_MEMBER, VAT_PREFIX, STATUS)
VALUES
  (244, 'AF', 'AFG', '004', 'AFGHANISTAN', 2, 0, NULL, 1);

INSERT INTO "CountryCodes" (COUNTRY_SID, COUNTRY_CODE_A2, COUNTRY_CODE_A3, COUNTRY_CODE_N3, COUNTRY_DEF_DESCR, TIMEZONE_SID, IS_EU_MEMBER, VAT_PREFIX, STATUS)
VALUES
  (245, 'AX', 'ALA', '248', 'ÅLAND ISLANDS', 2, 0, NULL, 1); <- this COUNTRY_DEF_DESCR gives the problem (is an example)

INSERT INTO "CountryCodes" (COUNTRY_SID, COUNTRY_CODE_A2, COUNTRY_CODE_A3, COUNTRY_CODE_N3, COUNTRY_DEF_DESCR, TIMEZONE_SID, IS_EU_MEMBER, VAT_PREFIX, STATUS)
VALUES
  (246, 'AL', 'ALB', '008', 'ALBANIA', 2, 0, NULL, 1);


thx in advance

regards


johan
Carlos Guzmán Álvarez schreef:
Hello:
  
I've already requested test case. Don't be so eager. ;)
  
    

hehe


  

_______________________________________________
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

Reply via email to