У меня странная ситуация.Я использую Oracle и ADO.NET (набор данных Visual Studio).У меня есть таблица, которая включает в себя поле BLOB.Кроме того, у меня есть последовательность для идентификатора этой таблицы.В ADO.NET у меня есть таблица-адаптер этой таблицы.В запросе на вставку я хотел, чтобы он сгенерировал сам идентификатор, поэтому я написал MYSEQ.NEXTVAL
во вставке (где: ID должен быть).Работает нормально.
Но дело в том, что когда я использую последовательность внутри запроса, BLOB вставляется неправильно.Независимо от того, какой размер, он вставляет 4000 байтов.Это действительно странно.И когда я не использую последовательность в запросе вставки, это нормально.Я получаю NextID с другим запросом и даю результат в поле ID вставки.Работает нормально.Но мне просто интересно, почему это так.Это выглядит действительно глупо.
Я не уверен, что имя ADO.NET.Я говорю о таблицах и наборах данных, которые я использую в Visual Studio.Извините, если я ошибаюсь.
INSERT INTO IPYYB_KOM_BASVURUEVRAK
(ID, BASVURUID, EVRAK, DOSYAADI, TARIH, TANIM)
VALUES (:ID, :BASVURUID, :EVRAK, :DOSYAADI, :TARIH, :TANIM)
EVRAK - это файл.Это рабочий код.Ниже приведен нерабочий код.
INSERT INTO IPYYB_KOM_BASVURUEVRAK
(ID, BASVURUID, EVRAK, DOSYAADI, TARIH, TANIM)
VALUES (IPYYB_KOM_EVRAK_SEQ.NEXTVAL, :BASVURUID, :EVRAK, :DOSYAADI,
:TARIH, :TANIM)
это последовательность,
CREATE SEQUENCE "MUBIS"."IPYYB_KOM_EVRAK_SEQ" MINVALUE 1
MAXVALUE 99999999999999999999999 INCREMENT BY 1 START WITH 21
CACHE 20 NOORDER NOCYCLE ;
Это таблица
CREATE TABLE "MUBIS"."IPYYB_KOM_BASVURUEVRAK"
(
"ID" NUMBER NOT NULL ENABLE,
"BASVURUID" NUMBER,
"EVRAK" BLOB,
"DOSYAADI" VARCHAR2(200 BYTE),
"TARIH" DATE,
"TANIM" VARCHAR2(200 BYTE),
CONSTRAINT "IPYYB_KOM_BASVURUEVRAK_PK" PRIMARY KEY ("ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "USERS" ENABLE
)
SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE
(
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT
)
TABLESPACE "USERS" LOB
(
"EVRAK"
)
STORE AS BASICFILE
(
TABLESPACE "USERS" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION NOCACHE LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
) ;
CREATE UNIQUE INDEX "MUBIS"."IPYYB_KOM_BASVURUEVRAK_PK" ON "MUBIS"."IPYYB_KOM_BASVURUEVRAK"
(
"ID"
)
PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE
(
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT
)
TABLESPACE "USERS" ;
CREATE UNIQUE INDEX "MUBIS"."SYS_IL0000097973C00003$$" ON "MUBIS"."IPYYB_KOM_BASVURUEVRAK"
(
PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "USERS" PARALLEL (DEGREE 0 INSTANCES 0) ;