CANIAS mySQL de bulunan Geliştirme veritabanın yedekten dönülmesi…

Güncellemelerin yüklenmesi veya yanlışlıkla geliştirme veri tabanında kod kayıpları yaşanmasına sebep olabiliyor. Bu durumda mysql veritabanının yedeğinden dönüş gerekiyor. Bu işlem standart mysql komutları ile yapılıyor.

Komut isteminden çalıştırıyorsunuz mysql komutlarınızı. Burada kurtarma senaryosu iki şekilde olabiliyor. Tüm veritabanını açmayı planlıyorsanız, mevcut veritabanını silip yeniden yaratmanız veya yeni bir isimde yedeği açıp içinden sadece bir kısım kodu alacaksanız yeni bir veritabanı yaratmanız gerekecek.

Komutlar:

mySQL komut isteminde oturum açma:

C:\Documents and Settings\Administrator.PENTI>
mysql -u yetkili_kullanici -pSifre
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 235
Server version: 5.0.90-community-nt MySQL Community Edition (GPL)

mySQL de mevcut veritabanın silinmesi:

mysql> drop database ias602d;
Query OK, 1 row affected (0.05 sec)

mySQL de yeni veritabanı yaratılması:

mysql> create database ias602fd character set utf8;
Query OK, 1 row affected (0.05 sec)
mysql> quit
Bye

mySQL de yeni boş veritabanına yedekten dönülmesi:

C:\Documents and Settings\Administrator.PENTI>
mysql -u yetkili_kullanici_adi -pSifre ias602fd 
< f:\mysql\Daily_b_ias602d.sql

Troia ile etiket yazıcısından direkt etiket basmak.

Birinci adım etiket basacağımız etiket yazıcısı ile birlikte gelen etiket programı ile basıalcak olan etiketi birebir tasarlamak. Etikette kullanılacak tüm nesneler için yazı tipi olarak yazıcının kendi yazı tipi ve barkod tipleri seçilmeli. Bu program ile tasarlayıp çıktısını aldığımızda istenen etiketi elde etmiş isek. Program içinden yazdır deyip çıktıyı yazıcıya değil dosyaya gönderin. Bu genelde .prn uzantılı bir dosya yaratmış olacaktır. Bu dosyayı bir metin düzenleyicisi ile açıp içindeki verilerin sizin etiket tasarımında kullandığınız alanlar olduğunu görün. Bu hali ile troia için bu dosya bir txt dosyasıdır. Bu txt dosyasını troia ile açıp alanlara istediğiniz verileri yazıp son olarak bunu PRINTTEXT ile direkt yazıcıya gönderebilirsiniz.

OBJECT: 
 STRING SFILENAMESABLON,
 STRING DELIM,
 STRING STRINGVAR1,
 STRING STRINGVAR2,
 STRING STRDOC,
 STRING NEWSTR,
 STRING REPSTR;

STRINGVAR2 = 'Cp1252';
SFILENAMESABLON = 'ETIKETSABLON\';
STRINGVAR1 = '\\Fahri-pc\ARGOX';
SFILENAMESABLON = SFILENAMESABLON + 'RECETE.PRN';

LOOP AT TBLETK 
BEGIN
    OPEN FILE SFILENAMESABLON FORREAD;
    GETBLOCK STRDOC, DELIM;
    CLOSE FILE;
    REPSTR = 'SATIR1';
    NEWSTR = TBLETK_SATIR1;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR2';
    NEWSTR = TBLETK_SATIR2;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR3';
    NEWSTR = TBLETK_SATIR3;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR4';
    NEWSTR = TBLETK_SATIR4;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR5';
    NEWSTR = TBLETK_SATIR5;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR6';
    NEWSTR = TBLETK_SATIR6;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR7';
    NEWSTR = TBLETK_SATIR7;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR8';
    NEWSTR = TBLETK_SATIR8;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    REPSTR = 'SATIR9';
    NEWSTR = TBLETK_SATIR9;
    STRDOC = REPLACE( STRDOC, REPSTR, NEWSTR );
    PRINTTEXT STRDOC TO STRINGVAR1 CODEPAGE STRINGVAR2;
ENDLOOP;

Yeni yaratılan material kodunun tarih bilgileri yanlış girilmiş ise güncellenecek tablolar…

DECLARE @MAT VARCHAR(50)=’TCELT239-T178G6′
UPDATE IASMATVENDORS SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATSTOCK SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATX SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATBASIC SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATFMS SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATUNITS SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATMOP SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATMRPSTO SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT
UPDATE IASMATOPTIONS SET VALIDFROM =’2005-01-01′ WHERE MATERIAL=@MAT

MySQL e scriptlerin çakılması

Geliştirme SQL dosyasının ilk satırında aşağıdaki satır olmalı..

SET NAMES LATIN5;

Scripti işlemek için komut isteminde:

mysql -uKULLANICI -pSIFRE -hServerip

ile mysql bağlanılır.

showdatabases;

komutu ile veritabanları listelenir.

mysql -uKULLANICI -pSIFRE -hServerip  IAS602d < c:\hcmt82.sql

komutu ile script ilgili veritabanına çakılır.

Dahasonra da bu script hangi dialog veya sınıflarla ilgili ise çevir kaydet yapılır.