SQL Cümleciklerini Dosya içinde saklamak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir
SQL Cümleciklerini Dosya içinde saklamak
Selam
bir database programım var ve kullanıcı kullanıdığı şirketten farlı başka bir şirket kullanmak isterse yeni bir şirket oluşturacak. Bu şirket oluşturma sırasında gerekli SQL cümleciklerini dosya içinde saklamak ve gerektiğindede bu dosyaları açıp kullanmak istiyorum. Bu sql cümleciklerinin çok uzun olanları var nasıl bir dosyalama mantığı ile saklamalıyım ki daha sonra kullanabileyim
bir database programım var ve kullanıcı kullanıdığı şirketten farlı başka bir şirket kullanmak isterse yeni bir şirket oluşturacak. Bu şirket oluşturma sırasında gerekli SQL cümleciklerini dosya içinde saklamak ve gerektiğindede bu dosyaları açıp kullanmak istiyorum. Bu sql cümleciklerinin çok uzun olanları var nasıl bir dosyalama mantığı ile saklamalıyım ki daha sonra kullanabileyim
-
- Kıdemli Üye
- Mesajlar: 574
- Kayıt: 01 Şub 2004 12:29
- Konum: Erdemli - MERSİN
Daha önce Fahrettin abi bahsetmişti bundan , şöyle yapabilirsin:
Bunun için tek bir database yeter . SIRKET diye bir ana tablo oluştur ve bunun primary key i ile diğer bütün tabloları bu ana tabloya bağla. Yani diğer tabloların hepsinde ana tablo nun primary key i foreign key olacak .
Böylece daha derli toplu bir yapı kurabilirsin. Sorgular falan daha kolay olur .
Kolay gelsin.
Bunun için tek bir database yeter . SIRKET diye bir ana tablo oluştur ve bunun primary key i ile diğer bütün tabloları bu ana tabloya bağla. Yani diğer tabloların hepsinde ana tablo nun primary key i foreign key olacak .
Böylece daha derli toplu bir yapı kurabilirsin. Sorgular falan daha kolay olur .
Kolay gelsin.
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir
Benim yapmak istediğim tek bir text dosya içine şirket'in tüm sql cümlecikleri olsun ve bu cümlecikleri sırası ile yükleyip çalıştırayım. ama text bir text dosya içinde sql cümleciği nerde başlıyor nerede bitiyor. nasıl anlayacağım. Örnek olarak
Gibi farklı uzunluktaki sql cümleciklerini query nesnesine yükleyip çalıştırmayı düşüyorum. Readln ile satır satır okutup çekebilirim. ama SQL cümleciği nerede başlayıp nerede bitiyor?
Kod: Tümünü seç
CREATE TABLE ARACBILGI (
ARAC_PLAKA VARCHAR(12) NOT NULL COLLATE PXW_TURK,
ARAC_MARKASI VARCHAR(50) COLLATE PXW_TURK,
ARAC_TIPI VARCHAR(50) COLLATE PXW_TURK,
.
.
.
);
CREATE TABLE ARACMASRAF (
ARAC_PLAKA VARCHAR(12) COLLATE PXW_TURK,
TARIH DATE,
ACIKLAMA VARCHAR(80) COLLATE PXW_TURK,
KEYNO INTEGER NOT NULL,
MIKTAR DOUBLE PRECISION,
BELGENO VARCHAR(20) COLLATE PXW_TURK,
ISLEM CHAR(2) COLLATE PXW_TURK,
KDV DOUBLE PRECISION
);
CREATE TRIGGER DEPOTANIM_BI FOR DEPOTANIM
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.DP_KEYNO IS NULL) THEN
NEW.DP_KEYNO = GEN_ID(GEN_DEPOTANIM_ID,1);
END;
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir
Bir çözüm buldum. Ne kadar doğru olur bilmiyorum tabi. Text Dosyanın ilk satırı okunacak SQL satırının kaç satırdan oluştuğunu gösteren değer
gibi bir uygulama nasıl olur acaba
Kod: Tümünü seç
3
CREATE TABLE ARACBILGI (
ARAC_PLAKA VARCHAR(12) NOT NULL COLLATE PXW_TURK,
ARAC_MARKASI VARCHAR(50) COLLATE PXW_TURK,
ARAC_TIPI VARCHAR(50) COLLATE PXW_TURK);
9
CREATE TABLE ARACMASRAF (
ARAC_PLAKA VARCHAR(12) COLLATE PXW_TURK,
TARIH DATE,
ACIKLAMA VARCHAR(80) COLLATE PXW_TURK,
KEYNO INTEGER NOT NULL,
MIKTAR DOUBLE PRECISION,
BELGENO VARCHAR(20) COLLATE PXW_TURK,
ISLEM CHAR(2) COLLATE PXW_TURK,
KDV DOUBLE PRECISION);
7
CREATE TRIGGER DEPOTANIM_BI FOR DEPOTANIM
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.DP_KEYNO IS NULL) THEN
NEW.DP_KEYNO = GEN_ID(GEN_DEPOTANIM_ID,1);
END;
hocam,bence hiç uğraşma. Direk ini file kullanman daha mantıklı
text'in içine biri girip yanlışlıkla enter tuşuna basarsa hiçbir sql çalışmaz...
şeklinde bir ini oluşturup istediğin gibi kullanabilirsin.
inifile diye arattırırsan detaylı kullanımı öğrenebilirsin.
text'in içine biri girip yanlışlıkla enter tuşuna basarsa hiçbir sql çalışmaz...
Kod: Tümünü seç
sql.ini
[tablesirket]
sql=create table.......
[tablesicil]
sql=create table.....
şeklinde bir ini oluşturup istediğin gibi kullanabilirsin.
inifile diye arattırırsan detaylı kullanımı öğrenebilirsin.
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir
Merhaba,
Ben bahsettiğin gibi bir yöntem kullanıyorum, bu iş içinde DataFile diye bir class kullandım, ini dosyasının biraz geliştirilmiş hali, Stream yazıp okuyabiliyorsun, ayrıca şifrelerek kaydediyorsun böylece herhangi bir editörle dosyadaki sql cümlelerini okuma şansı olmuyor üçüncü bir şahsın, ama peki ben nerden bulabilirim bu classı diye sorarsan valla hatırlamıyorum şimdi nerden indirdiğimi, sanırım torry.net di. ama ben bende bulunan halini
http://metu.edu/~e122935/datafile.rar adresine yükledim. indir bir incele istersen.
Ben bahsettiğin gibi bir yöntem kullanıyorum, bu iş içinde DataFile diye bir class kullandım, ini dosyasının biraz geliştirilmiş hali, Stream yazıp okuyabiliyorsun, ayrıca şifrelerek kaydediyorsun böylece herhangi bir editörle dosyadaki sql cümlelerini okuma şansı olmuyor üçüncü bir şahsın, ama peki ben nerden bulabilirim bu classı diye sorarsan valla hatırlamıyorum şimdi nerden indirdiğimi, sanırım torry.net di. ama ben bende bulunan halini
http://metu.edu/~e122935/datafile.rar adresine yükledim. indir bir incele istersen.
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir
Merhaba,
http://metu.edu/~e122935/SorguDuzenleyici.rar
benim sorguları düzenlemek için kullandığım basit bir program, yardımcı olur sanırım
http://metu.edu/~e122935/SorguDuzenleyici.rar
benim sorguları düzenlemek için kullandığım basit bir program, yardımcı olur sanırım
-
- Üye
- Mesajlar: 136
- Kayıt: 18 Oca 2005 05:24
- Konum: İzmir