Ana Sayfa | Forum | Dokümanlar
 

Geri Dön   Turquaz Muhasebe Forum > Turquaz Muhasebe Programı > Dönüşüm / Data Aktarma

Cevapla
 
Konu Araçları Rate Thread Mod Seç
  #1  
Eski 02-11-2006, 05:36
secici secici Çevrimdışı
Senior Member
 
Giriş Tarihi: Apr 2005
Nerden: Eskisehir
Mesajlar: 732
PostgreSQL'e veri aktarma

Merhabalar;

Kendini sıfırdan başlatacak bir firmanın, Stok ve Cari kayıtları duracak ancak tüm hareketler sıfırdan başlayacak... Bunun için ne yaparız nasıl yaparız derken, sagolsun sevgili mkadir, efendy'nin:

http://forum.turquaz.com/tr/showthread.php?t=1466

konusu içerisinde yayinladigi excel tablosunun nasıl kullanıldığını bir flash dosyası hazırlayarak bana gondermis. Oradan veri tablolarının ekleniş sırasını öğrendim. Daha sonra Kayseri'den çok muhterem Oracle uzmanı Egemen (internet adlı) kardeşimin yönlendirmesiyle ihtiyacım olan tablolara PgAdmin III'de sağ fare tuşuyla tıklayarak Yedekleme yaparak, bunu yaparken PLAIN olarak, Sadece veri ve de Insert commands seçilerek bu tabloları dışarıya aktarma yani export etme yönteminin işe yaradığını farkettim diyebilirim.

Bu aşamadan sonra yeni oluşturduğumuz ve hazırladığımız taze veritabanına bu veriyi eklemek için Komut satırından PostgreSQL\8.0\bin konumuna giderek:
Kod:
D:\Program Files\PostgreSQL\8.0\bin>psql -U postgres -d turquaz -a -f D:\secici\Turquaz\backup\stokkartlari.backup
gibi bir komut vererek ve bunu doğru sırayla aktarılacak her tablo verisi için tekrar ederek uygulama aşamasına geçiyoruz. Bu komutta -U postgres parametresini verdiğimizde, komutun postgres yetkili kullanıcısı tarafından gerçekleştirilmesini söylemiş oluyoruz. Eğer sizin yetkili kullanıcı adınız farklı ise uygun olacak şekilde bir değişikliğe gitmelisiniz. Bu komutu verdikten sonra bizden yetkili kullanıcının şifresini isteyecek ve biz de vereceğiz. Arkasından ilgili tablo veritabanına aktarılacaktır.

Ben sırasıyla TURQ_INVENTORY_CARDS, TURQ_INVENTORY_CARD_UNITS, TURQ_INVENTORY_PRICES tablolarını aktardım. Engine ve Transaction tablolarını aktarmadım. Çünkü onlarda sadece Stok kartlarının açılması ile ilgili bilgiler tutulmuyor. Diğer operasyonlarımızdan dolayı da bu tablolara veri akışı oluyor dolayısıyla bu tabloları aktarmamız sağlıklı olmayacak.

Ben bu tabloları aktarmadığım için görünürde ve ilk etapta bir sorun yaşamadım. Bakalım kullanırken göreceğiz.
__________________
free as in freedom

Düzenleyen secici : 02-11-2006 at 15:10
Alıntı Yaparak Cevapla
  #2  
Eski 02-11-2006, 05:42
secici secici Çevrimdışı
Senior Member
 
Giriş Tarihi: Apr 2005
Nerden: Eskisehir
Mesajlar: 732
TURQ_ENGINE_SEQUENCES tablosu meselesi

Evet,

TURQ_INVENTORY_TRANSACTIONS tablosunu akarmadığımdan dolayı bir sorun yaşamadım ve aktarmadığımdan dolayı büyük bir sıkıntım yok. Sadece Açılış Hareketlerim yok. Onların yerine her stok kartı için bir ilk stok giriş hareketi oluşturacağım aynı işi görecektir.

Fakat bu engine meselesi çok kafamı kurcalıyor. TURQ_ENGINE_SEQUENCES tablosunu aktarmadım ve bir sorun var gibi de gozukmuyor...

Eee peki ne işe yarıyor ki bu veriler o zaman...

Endişe etmedengönül rahatlığıyla devam edebilmem için bu sorunun cevabını netleştirmem şart.

Bilenlerin ilgisine çok teşekkürler.
__________________
free as in freedom
Alıntı Yaparak Cevapla
  #3  
Eski 02-11-2006, 05:51
secici secici Çevrimdışı
Senior Member
 
Giriş Tarihi: Apr 2005
Nerden: Eskisehir
Mesajlar: 732

Olmadı ...

Eğer engine değerlerini aktarmazsak fatura keserken ya da Stok giriş vb. yaparken stok kartlarını ilişkilendiremiyor. Arıyor buluyor kutuya da getirebiliyor belki ancak yeşile boyayamıyor ve Kaydetmek istediğinde Stok kartı yokmuş gibi davranıyor...

Bu konuda ne yapabiliriz.

Ay başından fazla uzaklaşmadan bu işi çözmem lazım. Yoksa çok fazla kayıt birikecek girmemiz gereken. Kullanıcı firmayı hataya zorlamamak için elimizi çabuk tutmamız gerek.

Lütfen, ilginize çok ihtiyacım var.
__________________
free as in freedom
Alıntı Yaparak Cevapla
  #4  
Eski 02-11-2006, 15:18
secici secici Çevrimdışı
Senior Member
 
Giriş Tarihi: Apr 2005
Nerden: Eskisehir
Mesajlar: 732

Evet,

Bu işin çözümü bu şekilde, yani tablo import-export etmek yöntemi ile zor gibi...

efendy'nin hazırladığı excel tablosundaki mantığı çözdüğüm için onu PostgreSQL'e uyarlayıp (en azından her satır sonunda ; karakteri eklemek zorundayız.) o yöntem üzerinden kayıt aktarımı yapacağımı sanıyorum. Bu işi şöyle hayırlısıyla halledebilirsem Belgelendirme'ye bu konuyu izah edecek birşeyler de hazırlamayı düşünüyorum.

Her bir sayfadaki en sağ sütunda üretilen nihai SQL cümleciklerini kopyalayarak bir metin dosyasına yapıştırın. Yani önce 1. sayfadaki cümlecikler, hemen bitiminde bir satır sonra ikinci sayfadaki... diye gidiyor. Sayfa sırasına riayet edin. Bu metin dosyasını kaydedip, ilk mesajda anlatılan yöntemi kullanarak veritabanına aktarabilirsiniz.

İhtiyaca göre satırları çektirip alta doğru uzatarak daha fazla satırı aktarma yapabilirsiniz. Fakat dikkat etmeniz gereken sondaki iki satırı birlikte işaretledikten sonra çektirerek uzatmaktır. Bu sayede rakamların birer birer artması sağlanır. Eğer bazı rakamlar her satırda birer birer artmazsa akarma işlemi düzgün bir şekilde gerçekleşmez.

Kolay gelsin.
__________________
free as in freedom

Düzenleyen secici : 08-11-2006 at 17:55
Alıntı Yaparak Cevapla
  #5  
Eski 03-11-2006, 16:54
secici secici Çevrimdışı
Senior Member
 
Giriş Tarihi: Apr 2005
Nerden: Eskisehir
Mesajlar: 732

Aktarma esnasında tampon olarak kullandığımız metin tipi dosyanın karakter kodlama sistemi (ANSI, Unicode, Unicode big endian, UTF-8 vb.) farklı olabilmesinden dolayı Türkçe karakterlerin bozuk olarak aktarılması sözkonusu olmakta... Bu sorun bir akşamda geceden sabaha kadar tüm vaktimi aldı...

Bunun çözümü için şimdilik bulabildiğim metod önce ilk mesajdaki gibi bir:

Alıntı:
Yedekleme yaparak, bunu yaparken PLAIN olarak, Sadece veri ve de Insert commands seçilerek bu tabloları dışarıya aktarma yani export etme yöntemi
yedek almak. Bu yedeğin içerisine oluştuğu metin dosyası sorunsuz aktarım yapabiliyor. Daha sonra bu metin belgesinin içerisini temizleyerek, oluşturduğumuz aktarım komutlarını bu metin belgesinin içerisine yazmaktır.

Windows'ta klasik yolla bir Yeni Metin Belgesi oluşturur ve bunu kullanırsanız, karakterler aktarımda bozuluyor....

Daha detayını keşfettiğimde sizleri bilgilendiririm.

Kolay gelsin.
__________________
free as in freedom

Düzenleyen secici : 04-11-2006 at 08:46
Alıntı Yaparak Cevapla
  #6  
Eski 04-11-2006, 08:44
secici secici Çevrimdışı
Senior Member
 
Giriş Tarihi: Apr 2005
Nerden: Eskisehir
Mesajlar: 732

Evet... Doğru metin dosyası tipini oluşturmak için o kadar da uğraşmanıza gerek yokmuş. Basit yöntem şu:

Windows'un Not defteri'ni kullanarak bir metin belgesi açın, içerisine bir iki şey yazdıktan sonra Farklı Kaydet'i seçin. Kodlama kısmından UTF-8'i seçin ve kaydedin.

Aktarma işlemimizi bu metin dosyasını kullanarak yaparsak Türkçe karakter sorunu yaşamayız. Yalnız dosyanın ilk satırına bir adet ; koyarak Enter'a basın. Yani ilk satırdaki komutun işlenmemesini sağlamamız gerekiyor. Çünkü psql.exe, bu tip bir metin dosyasını işlerken ilk satırda bozucu bir karakter algılıyor. Bu da ilk satırdaki komutumuzun doğru işlenmesine engel oluyor. Daha sonraki satırları notmal devam edebilirsiniz. Bir de en son satırda Kursor ün boş bir satırın başında olmasına dikkat edin, ya da garanti olsun diye fazladan bir Enter'a basın diye tavsiye edebilirim.

Sonuç olarak bütün bu bilgileri derleyerek Belgelendirme Projesine dahil etmek şart oldu ama bilemiyorum ne zaman vakit bulabilirim. Bu dönemde yardıma ihtiyacı olan buradan bizlerle temas kurabilir.

Kolay gelsin.
__________________
free as in freedom

Düzenleyen secici : 04-11-2006 at 11:51
Alıntı Yaparak Cevapla
Cevapla

Konu Araçları
Mod Seç Konuya Oy Ver
Konuya Oy Ver:

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smilies Açık
[IMG] Kodu Açık
HTML Kodu Kapalı

Forum Seç


Forum saati Türkiye saatine göredir. GMT +3. Şuan saat: 12:32.
(Türkiye için GMT +2 seçilmelidir.)