Migracija sa Access na MySQL bazu

Microsoft Access je baza podataka koja je namenjena radu sa fajlovima i nije preporučljivo koristiti je u radu sa dinamičkim stranicama. Iako se često koristi u radu web sajtova, mi preporučujemo da koristite MySQL bazu koja je već uključena u naše hosting pakete. MySQL je na dedicated database serverima koji su projektovani da rade sa velikim brojem simultanih konekcija. Takođe, MySQL radi dobro sa dinamičkim stranicama.

Ovde ćemo opisati kako da jednostavno pređete sa Access na MySQL.

Pretpostavljamo da ste već aktivirali MySQL bazu u Loopia Kontrol panelu i da možete da se konektujete na nju sa računara. Baza treba da je prazna ili ako već sadrži neke tabele, proverite da Access baza ne koristi istoimene tabele.

Instalacija programa Access To MySQL

Access To MySQL je Windows aplikacija sa kojom možete direktno da eksportujete sadržaj vašeg .mdb fajla ( Access baza) u vašu MySQL bazu. Program je besplatan i može se downloadovati ovde.

Downloadovani .zip fajl otpakujte i pokrenite instalaciju dvoklikom na .exe fajl. Nakon instalacije, startujte program.

Ukoliko se javi sledeća greška, potrebno je da instalirate ODBC drajver za MySQL. Sledite sledeće uputstvo. Ukoliko se program uspešno startuje, nastavite po uputstvu.

Warning-after-install.png

Start programa pokreće vizarda.

Access-to-mysql-01.png

Kliknite Next

Access-to-mysql-02.png

Kliknite dugme „…“ desno od polja Filename da bi locirali vašu Access bazu (u formatu naziv.mdb). Ukoliko je fajl na web serveru, potrebno je da ga downloadujete na vaš računar.

Kliknite Next

Access-to-mysql-03.png

Uključite opciju Direct transfer. Popunite tražene podatke

Host

mysqlXXX.loopia.se (umesto XXX unesite oznaku vašeg MySQL-servera)

Port

3306

Username

korisničko ime

Password

lozinka

Destination database

naziv baze, na primer mindoman_se

Storage engine

MyISAM

Kliknite Next

Access-to-mysql-04.png

Proverite da su sve tabele koje želite da importujete u MySQL čekirane. Kliknite Next

Access-to-mysql-05.png

Čekirajte sve opcije kao na slici.

Kliknite Run now

Access-to-mysql-06.png

Svi podaci iz Access baze su sada prebačeni u MySQL bazu.

Ažuriranje ASP strana

Da bi omogućili vašim ASP stranama da koriste novu MySQL bazu umesto stare Access baze, potrebno je da najpre ažurirate connection string. To radite na sledeći način (kliknite ovde za instrukcije za ASP.NET

Connection string za Access je:

var connection_string =
   "Provider=Microsoft.Jet.OLEDB.4.0;" +
   "Data Source=" + Server.Mappath("databas.mdb") + ";" +
   "User Id=username;" +
   "Password=lozinka;";

Zamenite ga sa:

var connection_string = "Driver={MySQL ODBC 5.1 Driver};" +
   "Server=mysql117.loopia.se;" +
   "Port=3306;" +
   "Option=131072;" +
   "Stmt=;" +
   "Database=domen_com;" +
   "Uid=username;" +
   "Pwd=lozinka";

U novi connection string unosite naziv MySQL servera (u primeru je to mysql117.loopia.se), naziv baze (u primeru je to domen_com), vaš username i lozinku za bazu.

Ukoliko imate connection string u više fajlova, sve ih izmenite. Nakon što je sve to urađeno, snimili ste i uploadovali fajlove na FTP, sajt će raditi na MySQL bazi.

Ažuriranje ASP.NET strana

Izmena koda u ASP.NET-u je malo zahtevnija od one u ASP-u. Primeri koje smo dali u nastavku su zasnovani na primerima koje imamo u bazi znanja za povezivanje Access-a sa MySQL. Za bolje razumevanje koda, možete da downloadujete primere i proučite kod.

Prvo zamenite sledeći namespace:

<%@ Import Namespace="System.Data.OleDb" %>

zamenite ga sa:

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="MySql.Data.MySqlClient" %>

Zatim ažurirajte Page_Load () method. U kodu za konekciju na Access, to izgleda kao:

public void Page_Load(object Sender, EventArgs E)
{
 OleDbConnection oConn = new OleDbConnection();
 string strConn = "";
 string strResult = "Connection succeeded.";
 strConn = "Provider=Microsoft.Jet.OLEDB.4.0;data source=" +
   HttpContext.Current.Server.MapPath("putanja\do\vase\baze\db.mdb");
 try
 {
   oConn.ConnectionString = strConn;
   oConn.Open();
 }
 catch(OleDbException eDBOpen)
 {
   strResult = GetDBError(eDBOpen);
 }
 oConn.Close();
 LabelResult.Text = strResult;
}

Ovaj kod treba da zamenite sledećim (karakteri \ \ znače da linija ne sme da se prekida):

public void Page_Load(object Sender, EventArgs E) {
 MySql.Data.MySqlClient.MySqlConnection conn;
 string myConnectionString;
 string strResult = "Connection succeeded.";
  
 myConnectionString = \\
   "server=mysql.domen.se;uid=domen_se@l123123; \\
   pwd=XXX;database=domen_se;";
 
 try {
   conn = new MySql.Data.MySqlClient.MySqlConnection();
   conn.ConnectionString = myConnectionString;
   conn.Open();
   conn.Close();
 } catch (MySql.Data.MySqlClient.MySqlException ex) {
   strResult = GetDBError(ex);
 } catch (System.Net.Sockets.SocketException se) {
   strResult = GetDBError(se);
 }
 LabelResult.Text = strResult;
}

Method Declaration GetDBError () zamenite sledeći:

public string GetDBError(OleDbException e) {

sa:

public string GetDBError(Exception e) {

Nakon što je sve to urađeno, snimili ste i uploadovali fajlove na FTP, sajt će raditi na MySQL bazi.

Instaliranje MySQL ODBC drajvera

Da bi podesili Access to MySQL da se konektuje na MySQL bazu na Loopii potreban je ODBC driver. Ukoliko ga nemate, možete ga downloadovati sa MySQL sajta.

Kada snimite .msi fajl na računar, dva puta kliknite na fajl da bi pokrenuli instalaciju. Otvoriće se sledeći prozor:

Odbc-install-01.png

Kliknite Next.

Odbc-install-02.png

Izaberite Typical i kliknite Next.

Odbc-install-03.png

Kliknite Install.

Odbc-install-04.png

Drajver je instaliran.

Odbc-install-05.png

Kliknite Finish.

Da li Vam je članak pomogao?

Povezani članci