delphi+access+autorun

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
ayseonat
Üye
Mesajlar: 58
Kayıt: 17 Ara 2004 12:18
Konum: Konya

delphi+access+autorun

Mesaj gönderen ayseonat »

Merhaba arkadaşlar,

delphi ve access te hazırlamış olduğum bi projem var. access e bağlanırken ADO ile bağlandım. ve bu projeyi cd ye takar takmaz autorun yapmam lazım. bende "giris.exe" ve veri tabanımı alıp cd ye attım. bide autorun.inf dosyası hazırladım. cd yi takar takmaz autorun.inf dosyası çalışıyor. fakat veritabanı şu an kullanımda die hata veriyor bana. daha sonra giris.exe yi açıyor. fakat veritabanıyla alakalı olan yerleri çalıştırmıyor. bunu nasıl düzeltebilirim?

herkese ii çalışmalar
kolay gelsin.
tears
Üye
Mesajlar: 79
Kayıt: 29 Kas 2004 12:32

Mesaj gönderen tears »

Bunun nedeni veritabanı cd de çalışmaz. çünkü Read Only dir.

Bunu bir setup hazırlayarak ve bu setupla veritabanı ve exe yi harddiske atıp oradan çalıştırırsanız problem kalmaz sanıyorum...

Kolay Gelsin.
rockell
Üye
Mesajlar: 1
Kayıt: 30 May 2005 12:45

Mesaj gönderen rockell »

... biraz kibar olalım. mege

tearsın söyledikleri doğru. access çalışırken, bulunduğu klasöre ldb uzantılı bir geçici dosya oluşturur. e tabi read only bir cdye bunu oluşturamayacağı için, access veritabanı cd den çalışmaz. bunun için tearsın söylediği çözüm doğru. eğer setupsız basit bir program düşünüyorsan, programın başlangıcında veritabanı dosyasını c ye kopyalatırsın. sonra kodun devamında, kopyaladığın yerden çalışmasını sağlarsın. her seferinde kopyalamaya çalışmaması için önce bir kontrol satırı yazmalısın elbette. 8)
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

http://www.delphicorner.f9.co.uk/articles/db12.htm

bu adreste CD deki bir Paradox veri tabanına nasıl bir erişim yapılır o anlatılıyor . Olayın mantığı anlamak açıdan okuyabilirsiniz .
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

Buarada , rockel ne için güldüğünü anlamadım . Ne alakası var Access in mantığını bilmek ile bil müh olmanın. Ayseonat gayet medeni bir şekilde soru soruyor . Bunu başka yerlere çekmenin ne alemi var ...
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

rockell yazdı:... silindi... mege
tearsın söyledikleri doğru. access çalışırken, bulunduğu klasöre ldb uzantılı bir geçici dosya oluşturur. e tabi read only bir cdye bunu oluşturamayacağı için, access veritabanı cd den çalışmaz. bunun için tearsın söylediği çözüm doğru. eğer setupsız basit bir program düşünüyorsan, programın başlangıcında veritabanı dosyasını c ye kopyalatırsın. sonra kodun devamında, kopyaladığın yerden çalışmasını sağlarsın. her seferinde kopyalamaya çalışmaması için önce bir kontrol satırı yazmalısın elbette.
Biraz daha dikkat etsen cevap verirken daha iyi olmazmı sence.Arkadaş buraya bir soru sormuş eğer cevap vermek zor geliyorsa cevap verme.bu tavırlar hiç hoş değil.Bu düşünce kendine zarar başkasına değil.GErçekten ne alakası var oğuz hocamın dediği gibi.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

küçük bi not : embedded firebird sürümü ile firebird kurmadan programınızla taşıyabilir ve firebirdi readonly medyalarda kullanabilirsiniz.
.-.-.-.-.-.-.-. ^_^
ayseonat
Üye
Mesajlar: 58
Kayıt: 17 Ara 2004 12:18
Konum: Konya

Mesaj gönderen ayseonat »

Mrb arkadaşlar
kusura bakmayın daha önce cvp yazamadım. netimiz yoktu. yeni geldi.
bende hemen baktım cvplarınıza.
ilk olarak şunu söyleyim. benim bu projem baya geniş kapsamlı bişey. ve firma hiç bi şekilde kurulumu olmasın diyor. cd ye takar takmaz ben programı çalıştırayım diyor.
ve ben maalesef bu projeye ocak gibi başladım. ve o zaman accessle başladım. bu program bi çok kişiye ulaşacak. herkesin bilgisayarında çalışması için access kullandım. okulda genelde mysql ve oracle ağırlıklı olarak eğitim verdiler. çok fazla bi iş tecrübem de yok. o yüzden de firebird kavramını buraya üye olduğumda duymuştum. ama o sırada çoktan access le başlamıştım işe. ve böyle bi sorunla karşılaşacağımı bilmiyordum. veritabanımda çok fazla kaydım var. firebird nasıl bişey hiç bilmiyorum. ama öğrenirim. firebird e kısaca kopyalamanın yolu varmı? yani tüm kayıtları bi anda oraya atabilirmiyim? yoksa teker teker yazmak zorundamıyım? eğer onları teker teker firebird e aktarırsam baya zamanımı alcak. çünkü o verileri girmek için şirketteki tüm elemanlar uğraştık ve yaklaşık 2-3 haftamızı almıştı. yani eğer öyle bişey yoksa boşu boşuna şu an için zaman kaybetmeyim onunla. fakat bu bana acil olarak lazım. yani bi 2-3 hafta daha beklenilmemesi lazım.
yada dosyayı kopyalıycam c nin altına. daha sonra programdan çıkarken silip çıkacağım.
bide benim görmediğim bazı yazılar yazılmış sanırım. ben ancak girebildim nete. bazı şeyler silinmiş sanırım. o yüzden de görmedim. yazılanlardan anladığım kadarıyla bende bazı şeyler söylemek istiyorum. okulda verilen eğitimle iş hayatı çok farklı(böyle bişeyi söylememe bile gerek yok aslında. sizler benden çok daha fazla tecrübelisiniz. ve böyle bişeyi çok daha ii bilirsiniz.) yani bilgisayar müh olmakla herşeyi öğrenmiş olmuyorum. hatta çoğu şeyi öğrenmemişim bile. bize okulda sadece temelini verdiler. çok fazla uygulama geliştirmedik. sorunlarla karşılaştıkça öğreniyorum bazı şeyleri. ve bu öğrenmemde sizlerin sayesinde oluyor. bu yüzden de birbirimize karşı daha anlayışlı davranırsak daha ii olur die düşünüyorum.
hepinize ii çalışmalar
yardımcı olmaya çalışan herkese çok teşekkür ederim
herkese kolay gelsin.
tears
Üye
Mesajlar: 79
Kayıt: 29 Kas 2004 12:32

Mesaj gönderen tears »

Acaba bi şey sorabilirmiyim?

cd yi alan kullanıcılar bu programa veri girip çıkacaklar mı? yani veri kaydı yapılacak mı? yoksa seadece izleme amaçlı mı?

Kolay gelsin.
metinkorkmaz
Üye
Mesajlar: 46
Kayıt: 25 May 2005 09:08
Konum: izmir

Mesaj gönderen metinkorkmaz »

Access dan firebird e aktarım için delphi de gelen databump programını kullanabilirsin.

İlk önce firebirdde ilgili tabloları oluşturman gerekir ve birazda firebird ü anlamalısın. Kolay olmaz, bu işlemlerin ne kadar sürecegi senin firebird e ne kadar zamanda uyum saglayacagına baglı.

Firebird tek bir dll ile dosyana erişmeni saglayabilir. Bu açıdan kurulum derdi olmaz. Veritabanına erişirken kullandıgın bazı bileşenleri yeni baştan düzenlemen gerekebilir.
ayseonat
Üye
Mesajlar: 58
Kayıt: 17 Ara 2004 12:18
Konum: Konya

Mesaj gönderen ayseonat »

merhaba tears

program izleme amaçlı. sadece sorgulamalar yaptırdım. başka da hiç bi işlem yok veritabanıyla alakalı.

kolay gelsin
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

Yes, ADO (and ADOxtra) can use Access databases stored on read only media (network shares or CD-ROMs).

Be sure to use correct connection string to open a database from read only media. The problem may arise due to a way how Jet provider stores information about database locking. Usually it creates a file near the database itself. So if requested sharing mode requires such file, ADO will try to create it and will fail to create a file on the CD-ROM or other read-only media.

For example, if NT folder permissions for D:\Temp\ are set to read only and
if you use following connection string:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\Temp\TestDB.mdb; Mode=Read"
It fails with a error saying that it cannot create locking file. For sure it
cannot do it on CD-ROM. Using Mode=Read usually opens database in shared mode for reading data. It will not work on CD-ROM.

If you use connection string without any Mode property settings:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\Temp\TestDB.mdb"
connection opens successfully even from read only media. If you check then the default settings of a mode property for an opened connection:
put cnn.Mode
it tells you that it is 13=1+12 (Read and Share Exclusive)

So if you use:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\Temp\TestDB.mdb; Mode=Read|Share Exclusive"
it opens successfully again.

So, to open database from read only media, you may skip Mode property in the connection string. It should open correctly by default. Note: the default behavior might change from ADO version to version. So it is usually better to explicitly specify the access mode.
http://www.xtramania.com/Documentation/ ... AQs/Cdrom/
.-.-.-.-.-.-.-. ^_^
tears
Üye
Mesajlar: 79
Kayıt: 29 Kas 2004 12:32

Mesaj gönderen tears »

bende mege hocamın önerisini sunacaktım ama o benden hızlı çıktı. :D

Ado ile bağlantı yaparken sadece read olarak açmak!!! :D

kolay gelsin.
ayseonat
Üye
Mesajlar: 58
Kayıt: 17 Ara 2004 12:18
Konum: Konya

Mesaj gönderen ayseonat »

merhaba arkdaşlar
sizin dediğiniz gibi denedim ama Invalid enum die bi hata veriyor. niye öle bişey dedi anlamadım :(
ama dosya kopyalamaktansa sizin dediğiniz gibi yapmak daha mantıklı.
neyse olmazsa dosya kopyalıycam.
herkese ii çalışmalar
ayseonat
Üye
Mesajlar: 58
Kayıt: 17 Ara 2004 12:18
Konum: Konya

Mesaj gönderen ayseonat »

:D :D :D
merhaba arkadaşlar

program autorun olarak çalıştı en sonunda. :D:D:D:D:D:D

database i readonly olarak ayarladım. ve delphide derlerken o şekilde derledim. daha sonra readonly databasemi ve exe mi attım cdye.
o da otomatik olarak çalıştı. :D:D

yardımcı olmaya çalışan herkese çoooooooook tşk edeirm
herkese ii çalışmalar...
Cevapla