Tuesday, May 25, 2010

SQL Server Migration Assistants for MySQL, Aplikasi Gratis Migrasi MySQL Ke SQL Server

Berkutat dengan database memang kadang memusingkan, apalagi kalau kita terpaksa harus melakukan tindakan ketika sistem yang kita gunakan ternyata harus menggunakan database lain, mau tidak mau yang kita lakukan adalah mengubahnya.

Tapi kini kalau Anda dipaksa untuk harus mengkonversi database MySQL menjadi SQL Server, tampaknya tak akan menjadi hal yang sulit lagi untuk dilakukan. Microsoft belum lama ini telah menyediakan aplikasi gratis untuk melakukan migrasi database MySQL menjadi SQL Server.

Aplikasi yang dinamai SQL Server Migration Assistant (SSMA) for MySQL v1.0 tersebut tidak hanya bisa mengubah database MySQL menjadi database SQL Server 2005, tapi juga bahkan bisa mengubahnya menjadi SQL Server 2008 dan juga SQL Azure.

Pihak Microsoft menggaris-bawahi kalau aplikasi ini mampu mengotomatisasi aspek dari proses migrasi dari MySQL ke SQL Server 2005, SQL Server 2008 dan SQL Azure.

“SQL Server Migration Assistant for MySQL adalah aplikasi konversi terbaru yang mana juga mampu memproses Oracle, Sybase, Access dan analyzer untuk PowerBuilder. Alat ini didesain untuk menangani proses manual yang cukup rumit dimana ketika kita diharuskan untuk melakukan migrasi. Dalam menggunakan SQL Server Migration Assistants, pelanggan dan mitra usaha mengurangi cara manual, sehingga keuntungan yang didapat adalah lebih efisien waktu, biaya dan resiko ketika dilakukan migrasi. Menurut survei yang telah kami lakukan baru-baru ini, orang yang mengunduh SSMA 94% akan merekomendasikannya pada orang lain,” ungkap Erika Sommer, anggota tim pemasaran Microsoft SQL Server.

Microsoft SQL Server Migration Assistant yang saat ini dirilis oleh Microsoft sebagai aplikasi gratis, yang mana pengguna tidak akan dikenakan biaya sedikitpun. Kabarnya aplikasi ini akan terus disebarkan secara bebas bahkan setelah ketersediaan umum pada pertengahan 2010 mendatang.

“Sejak aplikasi SQL Server Migration Assistants for Oracle tersedia di bulan Juni 2005, Microsoft telah melihat lebih dari 250.000 penggunduh telah mengunduh aplikasi ini. Motorola, Simon & Schuster, Sony Ericsson dan Artesia adalah beberapa dari pelanggan yang menggunakan SQL Server Migration Assistant untuk melakukan konversi ke Microsoft SQL Server,” kata Sommer menambahkan.

Nah, Anda tertarik untuk mencobanya? Silahkan download dari link berikut ini.

SQL Server Migration Assistant 2008 for MySQL v1.0 CTP1 :

http://www.microsoft.com/downloads/details.aspx?FamilyID=0e6168b0-2d0c-4076-96c2-60bd25294a8e&displaylang=en

SQL Server Migration Assistant 2005 for MySQL v1.0 CTP1 :

http://www.microsoft.com/downloads/details.aspx?FamilyID=c6f14640-da22-4604-aaaa-a45de4a0cd4a&displaylang=en

SQL Server 2008 R2 Segera Tiba Pada Bulan Mei 2010 Mendatang

Tak mengenal lelah, itulah yang selalu menjadi ciri khusus bagi produsen besar sekelas Microsoft. Tentunya kalau sudah tak berinovasi tentu akan membuka peluang lebar bagi para kompetitor untuk memenangkan persaingan.

Pihak Microsoft kini tengah bersiap-siap untuk segera merilis generasi berikutnya dari SQL Server 2008, yang mana nantinya akan memasuki tahap SQL Server 2008 R2, yang mana proyek ini sendiri disebut sebagai Kilimanjaro. Tepatnya sekitar tanggal 6 Mei 2010 mendatang pihak Microsoft berancang-ancang akan meresmikan produk barunya ini.

“Saat ini, SQL Server 2008 R2 memang sudah ada deadline-nya. Nantinya produk ini akan dirilis pada bulan Mei 2010.” kata salah satu perwakilan dari tim SQL Server. “Pelanggan dengan Software Assurance dapat mengupgrade SQL Server R2 dan mengambil keuntungan dari fitur-fitur baru tanpa membayar biaya lisensi tambahan lagi.”

Dalam hal ini, SQL Server 2008 R2 secara umum tersedia kira-kira satu tahun setelah perusahaan Redmond resmi mengumumkan label untuk produk yang dikembangkan sejak itu sebagai SQL Server Kilimanjaro. Menurut Microsoft, SQL Server 2008 R2 ini lebih banyak manfaatnya.

“SQL Server 2008 R2 milik Microsoft ini terus menampilkan komitmennya. Sejak kami membuat versi rilis ini pada Community Technology Preview (CTP) pada bulan Agustus 2009 lalu, produk ini disambut baik oleh komunitas dan telah diunduh sebanyak 150 ribu kali,” lanjut wakil tim SQL Server menambahkan.

Pada bulan November 2009, produsen software raksasa, Microsoft, telah mengumumkan bahwa akan menambahkan dua item baru ke daftar produk SQL Server yaitu Microsoft SQL Server 2008 R2 Datacenter dan Microsoft SQL Server 2008 R2 Parallel Data Warehouse (atau yang dinamai sebagai proyek Madison). SQL Server 2008 R2 Parallel Data Warehouse adalah satu-satunya edisi yang tidak akan dirilis pada bulan Mei nanti, tapi baru akan dirilis pada pertengahan tahun 2010 mendatang. Tunggu saja.

Manipulate INI files from Delphi

The .INI files have a text-based file format for representing application configuration data.

Even though, Windows Microsoft recommends using Registry to store application specific configuration data, in many cases you'll find that using INI files is much faster. After all, Windows still use WIN.INI and SYSTEM.INI files.

One simple use of INI files, as a status saving mechanism, would be to save the size and location of a form if you want a form to reappear at its previous position.

Initialization or Configuration Settings file (.INI) is a text file with 64Kb limit divided into sections, each containing zero or more keys. Each key contains zero or more values. Example:

[SectionName]
keyname1=value
;comment
keyname2=value


Section names are enclosed in square brackets, and must begin at the beginning of a line. Section and key names are case-insensitive, and cannot contain spacing characters. The key name is followed by an equal sign ("="), optionally surrounded by spacing characters, which are ignored.

If the same section appears more than once in the same file, or if the same key appears more than once in the same section, then the last occurrence prevails.

A key can contain string, integer or boolean value.

Delphi IDE uses INI file format in many cases. For example, the .DSK files (desktop settings) have the INI file format.
TIniFile
Delphi provides the TIniFile class, declared in the inifiles.pas unit, with methods to store and retrieve values from INI files. Prior to working with the TIniFile methods you need to create an instance of the class:

uses inifiles;
...
var
IniFile : TIniFile;
begin
IniFile := TIniFile.Create('myapp.ini') ;

The above code creates an IniFile object and assigns 'myapp.ini' to the only property of the class - the FileName property - used to specify the name of the INI file you are to use.

The code as written above looks (stores) for the myapp.ini file in the \Windows directory. A better way to store application data is in the application's folder - just specify the full path name of the file for the Create method:

// place the INI in the application folder,
// let it have the application name
// and 'ini' for extension:

iniFile := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) ;


Read from INI
The TIniFile class has several "read" methods. The ReadString reads a string value from a key, ReadInteger, ReadFloat and similiar are used to read a number from a key. All "read" methods have a default value that can be used if the entry does not exist. For example the ReadString is declared as:

function ReadString(const Section, Ident, Default: String): String; override;
Write to INI
The TIniFile has a corresponding "write" method for each "read" method. In other words they are WriteString, WriteBool, WriteInteger, etc.

For example, if we want a program to remember the name of the last person who used it, when it was, and what were the main form coordinates, we might establish a section called "Users" and a keyword called "Last" and "Date" to track the information; and another section called "Placement" with keys "Top", "Left", "Width", "Height".

project1.ini

[User]
Last=Zarko Gajic
Date=01/29/2009
[Placement]
Top=20
Left=35
Width=500
Height=340


Note that the key named "Last" holds a string value, "Date" holds a TDateTime value, all keys in the "Placement" section hold an integer value.

The OnCreate event of the main form is the perfect place to store the code needed to access the values in the application's initialization file:

procedure TMainForm.FormCreate(Sender: TObject) ;
var
appINI : TIniFile;
LastUser : string;
LastDate : TDateTime;
begin
appINI := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) ;
try
//if no last user return an empty string
LastUser := appINI.ReadString('User','Last','') ;
//if no last date return todays date
LastDate := appINI.ReadDate('User', 'Date', Date) ;

//show the message
ShowMessage('This program was previously used by ' + LastUser + ' on ' + DateToStr(LastDate));

Top := appINI.ReadInteger('Placement','Top', Top) ;
Left := appINI.ReadInteger('Placement','Left', Left);
Width := appINI.ReadInteger('Placement','Width', Width);
Height := appINI.ReadInteger('Placement','Height', Height);
finally
appINI.Free;
end;
end;


Main form's OnClose event is ideal for the "Save INI" part of the project.

procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction) ;
var
appINI : TIniFile;
begin
appINI := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini')) ;
try
appINI.WriteString('User','Last','Zarko Gajic') ;
appINI.WriteDate('User', 'Date', Date) ;

with appINI, MainForm do
begin
WriteInteger('Placement','Top', Top) ;
WriteInteger('Placement','Left', Left) ;
WriteInteger('Placement','Width', Width) ;
WriteInteger('Placement','Height', Height) ;
end;
finally
appIni.Free;
end;
end;


INI Sections
The EraseSection erases an entire section of an INI file. The ReadSection and ReadSections fills a TStringList object with the names of all sections (and key names) in the INI file.

INI Limitations and Downsides
The TIniFile class uses the Windows API which imposes a limit of 64KB on INI files. If you need to store more than 64KB of data, you should use the TMemIniFile.