|
Вопрос # 2 728/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
Имеется БД, походу Interbase, файл bla-bla.GDB называется.
Могу подключиться к БД через разный софт IB Console, Interbase/Firebird Development Studio.
После подключения делаю выборку всех записей из таблицы PERSON.
Результат - ~6000шт.
Задача: подключиться к этой БД из Delphi, чтобы в дальнейшем из Excel накинуть пару тысяч записей.
Набросал на форму IBDatabase, IBQuery, IBTransaction.
Подрубился к БД даю тот же запрос select count(*) from PERSON - получаю 89 записей.
Просто чудеса.
Уже запарился искать траблы и ответы в НЕТЕ.
Пробовал Delphi6, Delphi7, Interbase 6, Interbase 6.5, Interbase 2007 server.
<цензура>, 89 записей и все тут....
Где собака порылась?
Спасибо.
 |
Вопрос задал: buhhu_nyx (статус: Посетитель)
Вопрос отправлен: 4 мая 2009, 10:41
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 3; последнее сообщение — 5 мая 2009, 10:40; участников в обсуждении: 2.
|
buhhu_nyx (статус: Посетитель), 5 мая 2009, 09:23 [#2]:
Вот метаданные из IBConsole:
<code>
/* Table: PERSON, Owner: VIP */
CREATE TABLE "PERSON"
(
"COURT_CODE" VARCHAR(3) NOT NULL,
"PERSON_ID" DOUBLE PRECISION NOT NULL,
"KIND" VARCHAR(1),
"COMP_NAME" VARCHAR(240) DEFAULT '',
"COMP_STATE" VARCHAR(1),
"FIRST_NAME" VARCHAR(20) DEFAULT '',
"MIDDLE_NAME" VARCHAR(20) DEFAULT '',
"LAST_NAME" VARCHAR(30) DEFAULT '',
"SEX" VARCHAR(1),
"BIRTH_DATE" TIMESTAMP,
"BIRTH_PLACE" VARCHAR(80) DEFAULT '',
"PASSPORT_NO" VARCHAR(16) DEFAULT '',
"PERSONAL_NO" VARCHAR(14) DEFAULT '',
"PASSPORT_DATE" TIMESTAMP,
"PASSPORT_ORG" VARCHAR(50) DEFAULT '',
"COUNTRY_CODE" VARCHAR(3),
"REGION_CODE" VARCHAR(6),
"DISTRICT" VARCHAR(30) DEFAULT '',
"POSTAL_CODE" VARCHAR(6),
"CITY_KIND" VARCHAR(8) DEFAULT '',
"CITY" VARCHAR(30) DEFAULT '',
"STREET_KIND" VARCHAR(10) DEFAULT '',
"STREET" VARCHAR(40) DEFAULT '',
"HOUSE" FLOAT,
"BUILDING" VARCHAR(8) DEFAULT '',
"ROOM_TYPE" VARCHAR(8) DEFAULT '',
"ROOM" VARCHAR(10) DEFAULT '',
"PHONE" VARCHAR(30) DEFAULT '',
"WORK_NAME" VARCHAR(240) DEFAULT '',
"WORK_ADR" VARCHAR(240) DEFAULT '',
"BANK_NAME" VARCHAR(240) DEFAULT '',
"BANK_ADR" VARCHAR(120) DEFAULT '',
"BANK_CODE" VARCHAR(9),
"BANK_ACC" VARCHAR(20) DEFAULT '',
"UNN" DOUBLE PRECISION,
"CODE_BANK" VARCHAR(9),
"UIDN" VARCHAR(30) DEFAULT USER,
"DTU" TIMESTAMP DEFAULT 'NOW',
"DTE" TIMESTAMP,
"SIGN" VARCHAR(1),
CONSTRAINT "PK$PERSON" PRIMARY KEY ("COURT_CODE", "PERSON_ID")
);
ALTER TABLE "PERSON" ADD CONSTRAINT "R$PERSON$COUNTRY_CODE" FOREIGN KEY ("COUNTRY_CODE") REFERENCES "S_COUNTRY" ("COUNTRY_CODE");
ALTER TABLE "PERSON" ADD CONSTRAINT "R$PERSON$COURT_CODE" FOREIGN KEY ("COURT_CODE") REFERENCES "S_COURT" ("COURT_CODE");
ALTER TABLE "PERSON" ADD CONSTRAINT "R$PERSON$REGION_CODE" FOREIGN KEY ("REGION_CODE") REFERENCES "S_CLASS" ("CLASS_CODE");
SET TERM ^ ;
/* Triggers only will work for SQL triggers */
CREATE TRIGGER "PERSON_INS_TR" FOR "PERSON"
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.PERSON_ID <= 0) THEN
NEW.PERSON_ID = GEN_ID(PERSON_GEN, 1);
END
^
COMMIT WORK ^
SET TERM ;^
</code>
Да уж, табуляция катит только в редактировании...(выравнял по табу, а не видно...)
|
|
buhhu_nyx (статус: Посетитель), 5 мая 2009, 10:40 [#3]:
Короче, победил я данный вопрос - мне будет достаточно.
Помог только метод перебора.
Рассказываю:
рабочий вариант оказался следующим:
1. InterBase 2007 Server Edition v8.1.0.257
2. Firebird/Interbase_ODBC_2.0.0.148_win32
первый пришлось одолжить в инете...(около 30Мб)
второй бесплатный скачан с сайта firebirdsql.org
Создал ODBC подключение и подрубился из Delphi через ADO - видит всю БД.
УРА!!!!
НО!!!, так и не работает IBDatabase, IBQuery в полном объеме.
Ни в Delphi6 ни в Delphi7, хотя после установки InterBase 2007 Server ставил обновления из той же папки для 6 и 7 Delphi - IBX Update 6.11 with IB 2007 support и Delphi 7 IBX 7.11 with IB 7.5 support.
Но это не критично.
Главное, что подрубился через бесплатные компоненты и буду юзать дальше эти БД без trial limitation 
Спасибо всем, кто читал мой пост и задумывался над ответом.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|