Wednesday, December 3, 2014

ഡേറ്റാബേസ് കണക്ഷൻ - MS-SQL , MYSQL , MS-Access

നമ്മൾ ഈ പ്രോഗ്രാമിൽ(പ്രോഗ്രാം ഇവിടെ നിന്ന് ഡൗൺലോഡ് ചെയ്യാം) മൂന്ന് ഡേറ്റാബേസുകളുമായുള്ള കണക്ഷൻ ആണ് നോക്കുന്നത് . MS-SQL , MYSQL , MS-Access എന്നീ ഡേറ്റാബേസുകളാണ് നമ്മൾ ചെയ്യുന്നത്. ഇതിൽ MS-SQL കണക്ഷൻ നേരത്തെ വിശദീകരിച്ചിട്ടൂള്ളതുകൊണ്ട് ഇവിടെ വിശദീകരിക്കൂന്നില്ല. മറ്റ് രണ്ട് ഡേറ്റാബേസുകളെക്കുറിച്ചാണിവിടെ പറയുന്നത്. ഒരേതരത്തിലുള്ള ടേബിളാണ് നമ്മൾ ഈ മൂന്ന് ഡേറ്റാബേസുകളിലും ക്രിയേറ്റ് ചെയ്യുന്നത്. tbl_Salesman എന്ന ടേബിളാണ് നമ്മൾ ഉണ്ടാക്കുന്നത്.

MYSQL
SQLyog Community Edition -MySQL GUI v6.15 ലാണ് MYSQL ഡേറ്റാബേസ് ക്രിയേറ്റ് ചെയ്യുന്നത്. (കൂടുതൽ അറിയാൻ http://www.webyog.com/ എന്ന സൈറ്റ് നോക്കുക).

സ്റ്റെപ് 1
MYSQL ല്‍ Salesman എന്ന പുതിയ ഒരു ഡേറ്റാബേസ് നിർമ്മിക്കുക. Connect എന്ന ബട്ടണിൽ ക്ലിക്ക് ചെയ്യുക. (അതിനു മുമ്പ് വേണമെങ്കിൽ കണക്ഷൻ ടെസ്റ്റ് ചെയ്യാവുന്നതാണ്).


സ്റ്റെപ് 2 
Connect എന്ന ബട്ടണിൽ ക്ലിക്ക് ചെയ്യുമ്പോൾ തുറന്നു വരുന്ന വിൻഡോയിൽ നമ്മൾ ക്രിയേറ്റ് ചെയ്ത ഡേറ്റാബേസ് ഉണ്ടാവും. ആ ഡേറ്റാബേസിന്റെ പേരിന്റെ മുകളിൽ കെർസർ വെച്ചിട്ട് റൈറ്റ് ബട്ടൺ ക്ലിക്ക് ചെയ്യുമ്പോൾ തുറന്നു വരുന്ന മെനുവിൽ നിന്ന് Create_Table എന്ന ലിങ്കിൽ ക്ലിക്ക് ചെയ്യുക.


മുകളിൽ പറഞ്ഞ സ്റ്റെപ്പുകൾ രണ്ടും ചെയ്ത് കഴിയുമ്പോൾ ഡേറ്റാബേസ് ലിസ്റ്റിൽ ആ ഡേറ്റാബേസ് മാത്രമേ കാണൂ. ബ്ലാങ്ക് പാസ്വേർഡിൽ ആണ് നമ്മൾ ഡേറ്റാബേസ് ഉണ്ടാക്കിയത്. പഴയ യൂസർ നെയിമിൽ തന്നെ ആണ് ഡെറ്റാബേസ് വേണ്ടതെങ്കിൽ യൂസർ നെയിം നൽകിയതിനു ശേഷം (ഇവിടെ root എന്ന യൂസർ നെയിമാണ് ഉപയോഗിക്കുന്നത്) ഡെറ്റാബേസിന് പേര് നൽകാതെ Connect എന്ന ബട്ടണിൽ ക്ലിക്ക് ചെയ്യുക. 


ഇങ്ങനെ ക്ലിക്ക് ചെയ്യുമ്പോൾ കിട്ടൂന്ന വിൻഡോ നോക്കുക. root എന്ന യൂസർ നെയിമിൽ ക്രിയേറ്റ് ചെയ്തിരിക്കൂന്ന പഴയ ഡേറ്റാബേസുകൾ root@localhost എന്നതിനു താഴെ നമുക്ക് കാണാൻ കഴിയും.

root@localhost എന്ന ലിങ്കുനുമുകളിൽ മൗസ് റൈറ്റ് ബട്ടൺ ക്ലിക്ക് ചെയ്ത് പുതിയ ഡേറ്റാ ബേസ് ക്രിയേറ്റ് ചെയ്യുക. (ചിത്രം നോക്കുക).


നമ്മൾ ക്രിയേറ്റ് ചെയ്ത് ഡേറ്റാബേസ് ഡേറ്റാബേസ് ലിസ്റ്റിൽ ഉണ്ടാവും. ആ ഡേറ്റാബേസിന്റെ പേരിന്റെ മുകളിൽ കെർസർ വെച്ചിട്ട് റൈറ്റ് ബട്ടൺ ക്ലിക്ക് ചെയ്യുമ്പോൾ തുറന്നു വരുന്ന മെനുവിൽ നിന്ന് Create_Table എന്ന ലിങ്കിൽ ക്ലിക്ക് ചെയ്യുക. 


സ്റ്റെപ് 3
ഇനിയും നമുക്ക് ടേബിളിൽ വേണ്ട ഫീൽഡുകൾ നൽകാം. നമുക്കാവിശ്യമായ നാലു ഫീൽഡുകളുടെ പേരുകൾ നൽകി. ആദ്യ ഫീൽഡ് പ്രൈമറി കീയായി സെറ്റ് ചെയ്തതിനു ശേഷം ആ ഫീൾഡ് ഓട്ടോ ഇങ്ക്രിമെന്റാക്കുന്നു. അതിനുശേഷം Create Table എന്ന ബട്ടണിൽ ക്ലിക്ക് ചെയ്യുന്നു. ഈ ബട്ടണിൽ ക്ലിക്ക് ചെയ്യുമ്പോൾ വരുന്ന ചെറിയ ജാലകത്തിൽ  ടേബിളിന്റെ പേര് നൽകുക. അതിനുശേഷം OK ബട്ടൺ ക്ലിക്ക് ചെയ്യുക.


MS-Access
MS-Access തുറന്ന് അതിൽ ടേബിൾ ഡിസൈൻ ചെയ്യുക. (Microsoft Office Access 2007 ആണ് ഇവിടെ ഡേറ്റാബേസായി ഉപയോഗിക്കുന്നത്.)




ഡേറ്റാബേസ് ഡിസൈൻ ചെയ്തതിനു ശേഷം നമുക്കിനി നമ്മുടെ പ്രോഗ്രാമിലേക്ക് പോകാം.

MySql കണക്ഷൻ
MySql.Data.dll പ്രോഗ്രാമിലേക്ക് കൊണ്ടുവരിക.
MySql ഡേറ്റാബേസ് പ്രോഗ്രാമിലേക്ക് കണക്റ്റ് ചെയ്യുന്നതിനു മുമ്പ് MySql.Data എന്ന dll പ്രോഗ്രാമിലേക്ക് ആഡ് ചെയ്ത് നൽകണം. അതിനു Bin എന്ന ഫോൾഡർ ഉണ്ടാക്കി അതിലേക്ക് MySql.Data.dll റഫറൻസ് ആഡ് ചെയ്യണം. (ചിത്രങ്ങൾ നോക്കുക)






:: MySql കണക്ഷൻ പ്രോഗ്രാം ::
നമ്മൾ നേരത്തെ Sql കണക്ഷൻ നോക്കിയിരുന്നല്ലോ. അവിടെ SqlConnection,SqlDataAdapter എന്നിങ്ങനെ ആയിരുന്നു ഉപയോഗിച്ചിരുന്നതെങ്കിൽ MySql ഡേറ്റാബേസ് ഉപയോഗിക്കുമ്പോൾ SqlConnection,SqlDataAdapter നു പകരം MySqlConnection , MySqlDataAdapter എന്നിവയാണ് ഉപയോഗിക്കേണ്ടത്. അതിനുവേണ്ടി  MySql.Data.MySqlClient; എന്ന നെയിം സ്പേസ് ആദ്യം തന്നെ ആഡ് ചെയ്യണം.
(MySql.Data.dll റഫറൻസ് പ്രോഗ്രാമിലേക്ക് കൊണ്ടുവന്നതിനു ശേഷമേ MySql.Data.MySqlClient നെയിം സ്പേസ് ആഡ് ചെയ്യാവു).

കണക്ഷൻ സ്ട്രിംങ് നോക്കുക.
MySqlConnection conn = new MySqlConnection ("Server=localhost;Database=salesman;Port=3306;Uid=root;");
കണക്ഷൻ സ്ട്രിംങിൽ മാത്രമേ വെത്യാസം വരുന്നുള്ളൂ. ബാക്കിയെല്ലാം Sql ഡേറ്റാബേസ് പ്രോഗ്രാം പോലെയാണ്.

MS-Access കണക്ഷൻ
App_Data ഫോൾഡറിലേക്ക് .mdb ഫയൽ കൊണ്ടുവരിക.

Bin ഫോൾഡറിലേക്ക് MySql.Data.dll കൊണ്ടുവരണം എന്നതുപോലെ App_Data ഫോൾഡറിലേക്ക് .mdb ഫയൽ കൊണ്ടുവരണമെന്ന് നിർബന്ധമില്ല. കണക്ഷൻ സ്ട്രിംങിൽ .mdb ഫയലിന്റെ ലൊക്കേഷൻ പറഞ്ഞു കൊടുക്കണമെന്ന് മാത്രം. നമ്മൾ ഇവിടെ DotnetBlog.mdb ഡേറ്റാബേസ് App_Data ഫോൾഡറിലേക്ക് കൊണ്ടുവരാൻ കാരണം .mdb ഫയലിന്റെ ലൊക്കേഷൻ / ഡേറ്റാ സോർസ് ലൊക്കെഷൻ DataDirectory എന്നു പറഞ്ഞ് കൊടുക്കുന്നതുകൊണ്ടാണ്.

App_Data ഫോൾഡറിലേക്ക് .mdb ഫയൽ കൊണ്ടുവരാനായി App_Data ഫോൾഡറിന്റെ മുകളിൽ കർസർ വെച്ച് Add Existing Item എന്ന സബ് മെനുവിൽ ക്ലിക്ക് ചെയ്യുക. തുറന്നു വരുന്ന വിൻഡോയിൽ നമ്മുടെ .mdb ഫയലിന്റെ ലൊക്കെഷൻ കാണിച്ചു കൊടുത്തതിനുശേഷം Add ബട്ടൺ ക്ലിക്ക് ചെയ്യുക. 

:: MS-Access കണക്ഷൻ പ്രോഗ്രാം ::
നമ്മൾ നേരത്തെ Sql കണക്ഷൻ നോക്കിയിരുന്നല്ലോ. അവിടെ SqlConnection,SqlDataAdapter എന്നിങ്ങനെ ആയിരുന്നു ഉപയോഗിച്ചിരുന്നതെങ്കിൽ MS-Access ഡേറ്റാബേസ് ഉപയോഗിക്കുമ്പോൾ SqlConnection, SqlDataAdapter നു പകരം OleDbConnection, OleDbDataAdapter എന്നിവയാണ് ഉപയോഗിക്കേണ്ടത്. അതിനുവേണ്ടി  using System.Data.OleDb; എന്ന നെയിം സ്പേസ് ആദ്യം തന്നെ ആഡ് ചെയ്യണം.

കണക്ഷൻ സ്ട്രിംങ് നോക്കുക.
OleDbConnection OleDbConn = new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|DotnetBlog.mdb ");

ഇവിടെ ഡേറ്റാ സോർസ് ആയി പറഞ്ഞത് DataDirectory ലെ DotnetBlog.mdb എന്ന ഡേറ്റാബേസ് ആണ്. ഇതിനാണ് DotnetBlog.mdb ഫയൽ  App_Data ഫോൾഡറിലേക്ക് കൊണ്ടുവന്നത്. ഇനി മറ്റേതെങ്കിലും ലൊക്കേഷനിലാണ് .mdb ഫയൽ കിടക്കുന്നതെങ്കിൽ ആ പാത്ത് പറഞ്ഞ് കൊടുത്താൽ മതി.
Data Source=G:\\BlogPost\\DOT NET\\4_DatabseConnections\\DotnetBlog.mdb"

(ഇവിടിത്തെ കണക്ഷൻ സ്ട്രിംങിലെ പ്രത്യേകത നോക്കിയിരിക്കുമല്ലോ. മറ്റ് രണ്ട് സ്ട്രിംങിലും Server , DataBase എന്ന് ഉപയോഗിച്ചപ്പോൾ  OleDbConnection സ്ട്രിംങില്‍ Provider , Data Source എന്നിങ്ങനെയാണ് ഉപയോഗിച്ചിരിക്കുന്നത്)