1

Konu: VFP üzerinden SQL Dump File oluşturmak

VFP database yapimizi GENDBC ile kullanarak baska bir yere bos kayitli tablolar halinde yaratabiliyoruz , ayni mantıkta SQL server uzerinde yaratacagimiz tablolarida VFP ye bir sekilde GENDBC nin olusturdugu kodlari modifiye ederek TEXT...ENDEXT araliginda gonderebiliyoruz.

Sorum su SQL Server uzerinde bir defa tablolar olustuktan sonra program surekli gelisme halinde oldugu durumlarda  alan ekleme , cikarma , ozellik degistirme gibi ihtiyaclar surekli olabilir(yor)

uygulama her baslatildiginda table yapilarini bir master schema dan kontrol ederek , master schema da olupta SQL server uzerinde yoksa yaratacak yada editleyecek nasil bir kurgu olusturabiliriz ?

VFP de bu tarz guncellemeleri client tarafinda dbc_updater isimli kucuk bir uygulama ve developer tarafinda dbc_creator isimli uygulamam ile olusturdugum master_db klasorunu musteriye ulastirarak ve uygulamayi calistirarak database yapisini ve exe guncellemelerini yaptirabiliyorum . SQL server kullanmaya baslayinca bu tip ihtiyaclari nasil karsilarim diye dusunuyorum , onerileriniz neler olur ?

2 Son düzenleyen, erdalyalcin (16.01.2008 02:28:47)

Re: VFP üzerinden SQL Dump File oluşturmak

query analizer da
Select name From sys.databases  yazıp çalıştırdığında database listesini alırsın
use DatabaseAdı den sonra

Visual Fox Pro
SELECT * FROM INFORMATION_SCHEMA.TABLES

  seçili database in tablolarının listesini alırsın

Visual Fox Pro
SELECT * FROM INFORMATION_SCHEMA.COLUMNS

kolon adları türleri vs bilgisini alabilirsin

daha detaylı bilgi için:

Visual Fox Pro
Select O.name, C.name, C.column_id, T.name, C.max_length, C.precision, C.scale, T.collation_name

From sys.objects O
     inner join sys.columns C ON C.object_id = O.object_id
     inner join sys.types T ON T.system_type_id = C.system_type_id
Where O.name = 'Tablo Adı'
Order By O.name, C.column_id

bu sayfalardanda ayrıntılı bilgi var
http://novicksoftware.com/UDFofWeek/Vol … onsTAB.htm

http://www.devnewsgroups.net/group/micr … 63153.aspx

Belki bunlar biraz ışık tutar. Ama üstad fox da nasıl yapılıyor bilmiyorum.

3

Re: VFP üzerinden SQL Dump File oluşturmak

asagidaki kodlarla tablo+kolon bilgileri  ve db+tablo bilgileri alinabiliyor benim amacim client side ta tuttugum bir master_schema uzerinden uygulama her calistirildiginda alan karsilastirmasi yapmasi ve master_schema ya gore guncellemeyi SQL Server uzerinde yapmasi smile bu sayede VFP de yapabildigim   exe versiyon+ db degisikliklerini SQL dede deploy edebilmek ... bana lazim olan seyin bir kismi bellekte mevcut ama oneri ve deneyimleri bekliyorum ...


Visual Fox Pro
Local lcConnectionString,lnHandle

lcConnectionString = "driver=SQL server;server=(local);trusted_connection=yes;Database=Northwind"
lnHandle = Sqlstringconnect( m.lcConnectionString )
 
&& customers tablosunun alanlarini bulur ve listeler
= SQLColumns(m.lnHandle, 'customers', 'FOXPRO', 'MyCursor')
Browse
 
&& northwind database inde kayitli tablolari listeler
Store SQLTables(m.lnHandle, 'TABLE', 'mycursor1') To nTables
If nTables = 1
    Select mycursor1
    BROWSE
Endif

4

Re: VFP üzerinden SQL Dump File oluşturmak

kafanı yormayacak çok daha basit bir yöntem var:
bir kere ilk database oluşturma .prg ni yaptın ve oluşturdun. sonra her field eklediğinde update.prg ne birer komut olarak ekle. update.prg deki alter komutlarını ayrı ayrı sqlexec komutuyla çalıştırdığın için eğer o field varsa sqlexec -1 döndürecek eğer field yoksa field'ı oluşturacak. field varmıymış yokmuymuş hiç kafanı yorma. ben öyle yapıyorum.

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

5

Re: VFP üzerinden SQL Dump File oluşturmak

metin yazdı:

kafanı yormayacak çok daha basit bir yöntem var:
bir kere ilk database oluşturma .prg ni yaptın ve oluşturdun. sonra her field eklediğinde update.prg ne birer komut olarak ekle. update.prg deki alter komutlarını ayrı ayrı sqlexec komutuyla çalıştırdığın için eğer o field varsa sqlexec -1 döndürecek eğer field yoksa field'ı oluşturacak. field varmıymış yokmuymuş hiç kafanı yorma. ben öyle yapıyorum.


katılıyorum.
yakınlarda başıma geldi.  fied özelliği değişecekse!

Visual Fox Pro
? SQLExec(baglan(),"alter table mesai drop column adi") &&adi siler tabi önce başka bir yere alacağız.

    ? SQLExec(baglan(),"alter table mesai add adi char(30)") &&ekler


yaptım ama doğrumu?
bu konuda bir çözüm varmı?

Bilmediğin Neyse Yanıldığındır.

6

Re: VFP üzerinden SQL Dump File oluşturmak

mrduyar yazdı:
metin yazdı:

kafanı yormayacak çok daha basit bir yöntem var:
bir kere ilk database oluşturma .prg ni yaptın ve oluşturdun. sonra her field eklediğinde update.prg ne birer komut olarak ekle. update.prg deki alter komutlarını ayrı ayrı sqlexec komutuyla çalıştırdığın için eğer o field varsa sqlexec -1 döndürecek eğer field yoksa field'ı oluşturacak. field varmıymış yokmuymuş hiç kafanı yorma. ben öyle yapıyorum.


katılıyorum.
yakınlarda başıma geldi.  fied özelliği değişecekse!

Visual Fox Pro
? SQLExec(baglan(),"alter table mesai drop column adi") &&adi siler tabi önce başka bir yere alacağız.

    ? SQLExec(baglan(),"alter table mesai add adi char(30)") &&ekler


yaptım ama doğrumu?
bu konuda bir çözüm varmı?


Visual Fox Pro
? SQLExec(baglan(),"alter table mesai alter column adi char(30)")

olmasi gerek

7

Re: VFP üzerinden SQL Dump File oluşturmak

Drop etmeden

SQL
ALTER TABLE mesai ALTER COLUMN adi char(30)


Yapabilirsin

8

Re: VFP üzerinden SQL Dump File oluşturmak

metin yazdı:

kafanı yormayacak çok daha basit bir yöntem var:
bir kere ilk database oluşturma .prg ni yaptın ve oluşturdun. sonra her field eklediğinde update.prg ne birer komut olarak ekle. update.prg deki alter komutlarını ayrı ayrı sqlexec komutuyla çalıştırdığın için eğer o field varsa sqlexec -1 döndürecek eğer field yoksa field'ı oluşturacak. field varmıymış yokmuymuş hiç kafanı yorma. ben öyle yapıyorum.


evet iyi bir cozum aslinda smile start.prg de

Visual Fox Pro
do update_sql_tables

gibi rutinle bu is hallolabilir

9

Re: VFP üzerinden SQL Dump File oluşturmak

aslında bence;
data update lerini program her açılışta yapması yerine ayrı bir servis programının yapması daha iyi olur.

10

Re: VFP üzerinden SQL Dump File oluşturmak

oda mantıklı ama eger exe de degisiklik oldu ise data update in yapilmadi ise bu seferde hata alirsin
onu yerine anahtar bir sey olabilir exe degisti ise isUpdateNeeded=.t. gibi bir degere bakar acilirken ona gore update ini yapar .f. ise devam eder . exe ile beraber update.xml gibi bir dosyada olur ve icindeki
isUpdateNeeded=.t. degerli olur update sonrasi .f. dondurulur mesela

11

Re: VFP üzerinden SQL Dump File oluşturmak

SQL server management studio'da degisik objelere sag klikle ve scriptlere bak. Onlari edit ederek yeni update paketini olusturursun.

Bir degisiklik update'i icin kolay yontemlerden birisi degisikligi diagramlarla yapman. O degisikligi uygularken degisiklik T-SQL'ini de saklayip isteyip istemedigini soruyor. Sakla onu kullan.

Meta data ile de oluyor ama kendi kodunu ya kendin yazacaksin ya da redgate'den filan hazir araclari satin alacaksin:)