Delphi ve Interbase proje için Cobol Data Dönüştürme

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
ilkeryesiloglu
Üye
Mesajlar: 18
Kayıt: 07 Haz 2004 09:04
Konum: Mersin
İletişim:

Delphi ve Interbase proje için Cobol Data Dönüştürme

Mesaj gönderen ilkeryesiloglu »

Cobol'da yazılmış bir programın datalarını Interbase'e dönüştürerek Delphi ile yazılmış bir projede kullanmak istiyorum. Cobol veri yapısı ile ilgili bilgisi olan arkadaşların yardımına ihtiyacım var.

Teşekkürler, İyi çalışmalar.
turkcanfidan
Üye
Mesajlar: 380
Kayıt: 31 Eki 2005 03:26

Mesaj gönderen turkcanfidan »

cobol data dosyalarının uzantıları nedir? Bir çare bulamazsan cobol dan verileri txt vb dosyalara atarak aktarabilirsin belki.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2247
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Internette biraz araştırdım çeşitli toollar var, data çevirimi yapan. Onlar işinize yarayabilir. Google'dan Cobol Data Convertion yazıp arattırırsanız çıkıyor bir sürü şey.

Ayrıca hangi cobol versiyonunda yazılmış bu data?
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
selm@n
Kıdemli Üye
Mesajlar: 442
Kayıt: 01 Oca 2004 11:52
Konum: Adapazarı
İletişim:

Mesaj gönderen selm@n »

adnan abinin dediği gibi acaba hangi cobol ile yazılmış?

MS Cobol ise Sıralı dosya veya Rastgele (Random) Dosya okuma şeklinde dosya yapıları vardır...

MF/RM Cocol ise durum biraz değişir index olayı var onun için en iyi kaynak http://www.microfocus.com'dur

kolay gelsin
;)
ilkeryesiloglu
Üye
Mesajlar: 18
Kayıt: 07 Haz 2004 09:04
Konum: Mersin
İletişim:

Mesaj gönderen ilkeryesiloglu »

Tekrar Merhaba Arkadaşlar.
Öncelikle ilginiz için çok teşekkür ediyorum.
Bahsettiğim programın .DAT ve .IDX uzantılı dosyaları var. Ayrıca dataların olduğu klasörde XM.EXE ve REBUILD.EXE dosyaları var.
XM.EXE çalıştırılınca aşağıdaki mesaj geliyor. Buradan Micro Focus Cobol olduğu anlaşılıyor.

V1.4.6 - The Micro Focus DOS Extender Copyright (c) 1987-1996 Micro Focus Ltd
URN AXCPA/000000000 [Protocol: DPMI] Ref 022

internetten araştırılınca bir çok program bulunuyor fakat hangisinin tam işlevsel olduğunu ve nasıl çalıştığını bile anlamak çok zor oluyor. Bu yüzden sizin bildiğiniz ve bu tip dataları dönüştürebilecek bir yazılım var mı acaba.

Görüşmek üzere.
ertemsoft
Üye
Mesajlar: 129
Kayıt: 19 Nis 2005 01:22
İletişim:

Mesaj gönderen ertemsoft »

selam

Coboldaki verileri otomatik olarak transfer eden bir şey varsa kullanın yoksa coboldaki verileri bir text file olarak Export edip Firebird e bir kod
yazarak aktarabilirsiniz.

Tabi bunun içinde Cobol bilmek gerekli :) cobol daki programın source
kodları yoksa bunu yapmakda bildiğim kadarıyla mümkün değil. File
yapısı bu sourceların içinde oluyor veya dışarıdaki *.cop gibi dosyalarda
duruyor.

saygılar.
Bilgi Paylaştıkça Çoğalır
poshet303
Üye
Mesajlar: 235
Kayıt: 26 Eki 2005 01:15

Mesaj gönderen poshet303 »

Cobol ile hiç çalışmadım. İş dünyasında hala kullanılmasına rağmen Türkiye'de tarih olmuş bir yazılım aracı.

google da aratınca bazı conventer ar bulunuyor. Örneğin
http://www.netcobol.com/products/windows/dconv.htm
adresinde programın özellikleri ekran görüntüleri var. Fakat program yok. Muhtemelen bu işi yapan free bir yazılım yoktur.

Ama belki kendinizde bu işi kotarabilirsiniz.

Eğer veri dosyaya değiştirilmeden yazıldı ise(yani kodlanıp faklı şekillere sokulmadı ise) bu dosyayı çözmek mümkün olabilir.

Sonuçta veri dosyası 2 tipte olabilir. Ya sabit kayıt uzunluğu ve bu kayıt içinde sabit veri alanları vardır (bu daha muhtemel). Yada text dosyalarda olduğu gibi kayıt sonunu gösteren özel bir karekter (carry return gibi) ve veri alanlarını ayarlayan kullanıcı tarafından tanımlanmış bir özel karekter vardır.

Dosyayı bir text editor ile açıp bakın anlamlı bazı kelimeler görünüyormu. Muhtemelen bir sürü karışık düzensiz ne olduğu belli olmayan karekterler vardır, ama arada anlamlı program içinde gördüğünüz verileri görebiliyorsanız bu iş olabilecek demektir.

Dosyanın tipini veri deseninden anlamaya çalışın. Tipini (yukarıda anlatılan iki tipten biri) belirledikten sonra kayıt (record) büyüklüğünü belirlemeli yada kayıt başında bulunan verinin önünde her kayıt başında olan karekteristik bir karakter yada karakter dizisi var mı ona bakmalı. eğer bunuda tesbit edebilirseniz dosyayı binary modda açar belirlediğiniz özelliklere göre parse eder veritabanına yazarsınız.

Çok mu zor görünüyor. O kadarda değil. Eğer yukarıda yazdığım belirlemeler yapılabilirse değil. Bir arkadaşıma fatura programı yazmıştım. Eski programa kirilmiş tanımları kullanmak istediğini tekrar girmenin zor olacağını söyledi. Bir DOS programı idi ve hangi dilde yazıldığını veri dosyasının 10 larca dosyadan hangisi olduğunu ve dosya biçimini bilmiyordum. Ebatı büyük olan günlenme tarihi yeni olan bir kaç dosyayı text editörle (HEX editorde olurdu aslında) inceledim. Tanımlar olduğu anlaşıan bir dosya buldum. Belirlemelerimi yaptım. Okudum parse ettim paradox tablosuna yazdım. Aslında bu projeden sonra veri dosyalarını okuyup analiz eden parse edip bir veri tabanına yazan araç yazayım dedim ama askere gittik şimdide üşeniyorum onca işin arasında.

Oldu yani. Gözünüzde büyütmeyin. Tabi biraz şansta gerek. Adam veriyi kodlayarak dosyaya yazdı ise anlaşılamaz.

Daha uçuk bir yol da, eğer alınması gereken veri ilgili programda bir pencerede görülebilen kayıtlar biçiminde ise bir Dos TSR si yazıp programı çalıştırıp ekrandan okumak (ve tabi veri içinde gezmek için TSR miz bazı karekterleri göndermeli, enter tab vb.) ta olabilir. Ama bu daha zor.

Aslında pek çok şey mümkün önemli olan neye mal olduğu.

Kolay gelsin.
Kullanıcı avatarı
comfort
Üye
Mesajlar: 214
Kayıt: 28 Ara 2004 06:37
Konum: İzmir
İletişim:

Mesaj gönderen comfort »

Biz hiç bir tool kullanmadan böyle bişey yapmıştık. Bitane dosya yazıcısı tanımlıcaksın. Yani programdaki yazıcı çıktısını printer' a değilde bi dosyaya yazdırcaksın. Bütün verileri listeletip dosyanın içine yazdır. Bu dosyaya aldıktan sonra gerisi kolay zaten. İstersen delphi kodu yaz (for do döngüsü ile satır satır okutup vt ye yaz) veya excelde açarak EMS interbase programı ile excelden verileri vt ye atabiliyorsun. Kolay gelsin
Cevapla