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.
Start programa pokreće vizarda.
Kliknite Next
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
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
Proverite da su sve tabele koje želite da importujete u MySQL čekirane. Kliknite Next
Čekirajte sve opcije kao na slici.
Kliknite Run now
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:
Kliknite Next.
Izaberite Typical i kliknite Next.
Kliknite Install.
Drajver je instaliran.
Kliknite Finish.