1

Konu: database (.dbc ) uzantılı dosyayı birden fazla programda kullanmak ???

CREATE DATABASE lcLovPath+"\"+lcTable
Open DATABASE lcLovPath+"\"+lcTable SHARED

olarak açsamda 1705 - File access is denied ' lcLovPath+"\"+lcTable' hatası alıyorum.

2

Re: database (.dbc ) uzantılı dosyayı birden fazla programda kullanmak ???

ben pek .dbf tabloları için vfp database kullanmam ama create den sonra database zaten exclusive olarak açık oluyor. tekrar open yapabilmek için önce kapatmanız lazım.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

3

Re: database (.dbc ) uzantılı dosyayı birden fazla programda kullanmak ???

ama bu dbc içindeki dbf dosyası kullanılıyor baska bir programda kapatınca da olmuyor malesef ya da ben yapamıyorum sad

4

Re: database (.dbc ) uzantılı dosyayı birden fazla programda kullanmak ???

demek istediğim buydu:

Visual Fox Pro
CREATE DATABASE lcLovPath+"\"+lcTable 

clos data
Open DATABASE lcLovPath+"
\"+lcTable SHARED
Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

5

Re: database (.dbc ) uzantılı dosyayı birden fazla programda kullanmak ???

Database bir kere yaratilan birsey. Runtime'da yaratacak iseniz (olabilir view icin filan) o zaman gecici isim kullanin. Ornegin:

Visual Fox Pro
LOCAL lcDatabase, lcTable

lcDatabase = FORCEEXT( GetTempFileName(), 'DBC' )
CREATE DATABASE (m.lcDatabase)
** bu database ile yapilacak isler ...
SET DATABASE TO (m.lcDatabase)
CLOSE DATABASES
 
PROCEDURE GetTempFileName
** Thanks to Martin Krivka for the idea
Return ;
    Forcepath("T"+;
    LTRIM(Str(_vfp.ProcessID))+'_'+;
    LTRIM(Str(_vfp.ThreadID))+;
    Sys(2015)+".tmp",Sys(2023))
endproc

6

Re: database (.dbc ) uzantılı dosyayı birden fazla programda kullanmak ???

Aslında benim yapmaya çalışıtığım şu. Veritabanımdan günlük bir tablodaki verileri cekip , ama günde bir kez cekip dbf te tutmak.İşlemleri mi de bu dbf üzerinden yapmak. Bir pogram açılıdğında sıkıntı yok. Ama 1 program acıkken başka bir program açtıgımda

IF !FILE(lcLovPath+"\"+lcTable+ ".dbc") then       
    CREATE DATABASE lcLovPath+"\"+lcTable
ENDIF
Open DATABASE lcLovPath+"\"+lcTable SHARED

open database satırında file acces is denied hatası alıyorum.

7

Re: database (.dbc ) uzantılı dosyayı birden fazla programda kullanmak ???

söylediğim gibi işte:

Visual Fox Pro
IF !FILE(lcLovPath+"\"+lcTable+ ".dbc") then        

    CREATE DATABASE lcLovPath+"
\"+lcTable
    clos data
ENDIF
Open DATABASE lcLovPath+"
\"+lcTable SHARED
Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

8

Re: database (.dbc ) uzantılı dosyayı birden fazla programda kullanmak ???

Iyi de benim anlamadigim yeni database yaratmaya ne gerek var? Zaten database'in yok mu. Onun bir kopyesini tek bir kez al ve lokal bir dizinde tut. Geriye sadece ayni dizine datayi alman kalir.

9

Re: database (.dbc ) uzantılı dosyayı birden fazla programda kullanmak ???

Ben zaten bir kez olusturuyorum database i. dbc dosyası da var belirlediğim klasorde. birde dbf dosyası var.ilk açtığım programda dbf dosyasını acabiliyorum sıkıntısız. 2.programı acıyorum dbc dosyası içindeki dbf e erişmem için database e erişmek gerekmiyormu.Databesi acıp dbf dosyasını acmam gerekiyor. 2.programda da open diyemiyorum işte.

10

Re: database (.dbc ) uzantılı dosyayı birden fazla programda kullanmak ???

Olay karisiyor:)

Her data session'ina girerken birtakim "set" komutlarini kurdugun yer vardir. Oraya:

Visual Fox Pro
set exclusive off

ekle. O olunca "shared" filan kullanman da gerekmeyecek. Tersine exclusive kullanman gerekiyorsa onu belirtirsin.

Database'i acman gerekmiyor. Database zaten sen istemesen de acilir. Yani:

Visual Fox Pro
use (_samples+'data\customer')

dediginde, ilgili Testdata.dbc otomatikman acilir. "Create Database" gereksiz ve ben neden ihtiyacin oldugunu anlamis degilim.