Trigger ile Autonic alan
FAOsoft23.02.2005 - 10:56:02
1 - Trigger kullanarak Autonic alan oluşturdum afterpost ta transectionu commitretraing ve refresh yapmama rağmen Autoinc olan alanın değeri tabloyu açıp kapayana dek görünmüyor. tek tabloda sorun olmuyor ama master detailde foreign key null hatası alıyorum.

2 - interbasede aynı anda veritabanına hem ib expert hemden delphiden ulaşabiliyorum ama Firebird veritabanına ulaşamıyorum
nasıl halledebilirim bunu?

Database oluştururken pagesize nedir ne anlama geliyor?
 
Kuri_YJ23.02.2005 - 11:11:21
Selamlar,

1. Sorunuza ilişkin daha taze taze sıcak sıcak konuşulmuş olan bir konu http://www.delphiturkiye.com/forum/viewtopic.php?t=7054
Biraz daha dikkatli olunursa ve arama yapılırsa aradıklarınza ilişkin yanıtların bir çoğunun aslında mevcut olduğunu göreceksiniz.

2. IB Expert kullanmadığım için yorum yok.

3. Soru, Server Diske dosya oluştururken kullanacağı page'lerin size'ı. Bunu default değerinde bırakırsanız sizin açınızdan daha iyi olur. Eğer oluşturacağınız kayıtların (1 recordun boyu) çok uzun ise bu değeri de arttırabilirsiniz. Index pagelerde ve diski kullanırken burada belirtilen size'lara göre hareket edecektir. Performans ayarlamalarında kullanılır ama veri hacminizin çoook büyük olduğu durumlarda bir kısım performans artışı veya azalması getirebilir.

Kolay Gelsin
 
gkimirti23.02.2005 - 11:12:47
master-detail yapıda generotoru trigger ile degil de
ibdatasetin generatorfield ozelligi ile artırın
burada da onnewrecordu secin
 
FAOsoft23.02.2005 - 11:21:25
Sorunuza ilişkin daha taze taze sıcak sıcak konuşulmuş olan bir konu http://www.delphiturkiye.com/forum/viewtopic.php?t=7054

bunu görmüştüm ben bu işi ib/fb ye bırakmak istiyorum
ibdatasetin generatorfield ozelligi ile artırın


ib bileşenlerini kıullanmıyorsak nolcak
 
coderlord23.02.2005 - 11:23:48
kuri hocam başıma ilginç birşey geldi. FB'de hazırladığım VT'yapısı bir anda hata vermeye başladı. Unsupported SQL command vs.. Fazla miktarda SP var. Sorun yaratması için bir sebep yoktu. Metadata alayım da yeniden yaratayım tabloyu dedim. Yaratınca aynı problem oluştu.

Pagesize olarak 1024 kullanıyordum. 2048 yapınca hata vermedi. Bu SP'ler yüzünden olabilir mi? Biryerlerde böyle bir limit olduğunu okuduğum ve hata mesajını hatırladığım için PS arttırma yoluna gittim.

Böyle birşey ile karşılaştın mı?
 
FAOsoft23.02.2005 - 11:27:20
bana soruyosan hayır Rolling Eyes
acaba trigger bu işi yaparken vt den commt gibi bişimi yapmalıyız Question
 
gkimirti23.02.2005 - 11:31:34
coderlord bir alan isminde turkce karakter olabilir.
bir kere benim de basıma gelmisti bir tablodaki alan adını degiştirirken yanlıs karakter girdim
tabloyu da acamaz oldum sql komutu ile alan adını bir sekilde degistirmistim.
 
coderlord23.02.2005 - 11:36:03
Olabilir bir bakayım. Yanlız Pagesize'ı arttırınca hatanın kaybolması tuhaf.
 
Kuri_YJ23.02.2005 - 11:40:19
Selamlar,

CoderLord : Walla ben de hiç öyle bir şeyle karşılaşmadım.

FaoSoft : Eğer IB bileşenlerini kullanmıyorsanız o zaman Generator oluşturan bir SP yapacaksınız ve BeforeInsert'de AutoInc olan alan için bu SP'den Generate edilen ID'yi alıp Master tablonuza manuel siz koyacaksınız. Aynı şekilde Detail table'ınız içinde benzer şeyleri yapmalısınız.

Aşağıda benim bu tür işler için yazmış olduğum bir adet SP var. Örnek teşkil etmesi açısından yazdım.

Kolay Gelsin


SET TERM ^^ ;
CREATE PROCEDURE STP_GEN_ID (
VAR_TYPE Integer)
returns (
RET_ID Integer)
AS
/*
Procedure: ID'lerin Generate Edildiği Stored Procedure

Author : Adnan ÖNCEVARLIK
Date : 21.10.2003
Purpose : Table'lar İçin ID'lerin Generate Edildiği Stored Procedure
Params
------
VAR_TYPE : Hangi Table İçin ID Üretilecek
RET_ID : Oluşturulan ID
*/
BEGIN
IF (VAR_TYPE = 1) THEN /* MOV_COIN_BOX */
RET_ID = GEN_ID(GEN_CBM_ID,1) ;
ELSE
IF (VAR_TYPE = 2) THEN /* MOV_COLLECTION */
RET_ID = GEN_ID(GEN_COL_ID,1) ;
ELSE
IF (VAR_TYPE = 3) THEN /* MOV_TRUCK */
RET_ID = GEN_ID(GEN_TRC_ID,1) ;
ELSE
IF (VAR_TYPE = 4) THEN /* PUB_ANLYZE */
RET_ID = GEN_ID(GEN_ANL_ID,1) ;
ELSE
IF (VAR_TYPE = 5) THEN /* PUB_CITY */
RET_ID = GEN_ID(GEN_CIT_ID, 1) ;
ELSE
IF (VAR_TYPE = 6) THEN /* PUB_CONTRACT */
RET_ID = GEN_ID(GEN_CON_ID, 1) ;
ELSE
IF (VAR_TYPE = 7) THEN /* PUB_FACTORY */
RET_ID = GEN_ID(GEN_FAC_ID, 1) ;
ELSE
IF (VAR_TYPE = 8) THEN /* PUB_SOURCE */
RET_ID = GEN_ID(GEN_SRC_ID, 1) ;
ELSE
IF (VAR_TYPE = 9) THEN /* PUB_SUPPLIER */
RET_ID = GEN_ID(GEN_SUP_ID, 1) ;
ELSE
IF (VAR_TYPE = 10) THEN /* PUB_TYPE */
RET_ID = GEN_ID(GEN_TYP_ID, 1) ;
ELSE
IF (VAR_TYPE = 11) THEN /* PUB_ZONE */
RET_ID = GEN_ID(GEN_ZON_ID, 1) ;
ELSE
IF (VAR_TYPE = 99) THEN /* SYS_DEFAULTS */
RET_ID = GEN_ID(GEN_SYS_ID, 1) ;

END
^^
SET TERM ; ^^
 
oguzozturk7423.02.2005 - 13:02:59
Faosoft :
2 - interbasede aynı anda veritabanına hem ib expert hemden delphiden ulaşabiliyorum ama Firebird veritabanına ulaşamıyorum
nasıl halledebilirim bunu? :

Eğer VT dosyasının uzantısını gdb olarak değiştiriseniz ulaşabilmeniz lazım.
 
NOT : Bu sayfa google'un siteyi indekslemesi içindir. www.delphiturkiye.com/forum/ adresini kullanınız!
1998-2006 www.delphiturkiye.com