Microsoft Access är en filbaserad databaslösning som inte är anpassad för dynamiska webbsidor. Trots det används den i stor utsträckning till just detta. I stället rekommenderar vi varmt MariaDB/MySQL, som ingår i ditt webbhotellspaket hos oss. MariaDB/MySQL ligger på dedikerade databasservrar som är anpassade för att hantera många samtidiga anslutningar. Därför fungerar MariaDB/MySQL utmärkt till just dynamiska webbsidor.
I den här guiden beskriver vi hur du enkelt migrerar (flyttar) från Access till MySQL.
Guiden förutsätter att du har skapat en MariaDB/MySQL-databas via Loopia Kundzon och att du kan ansluta till den direkt från din dator. Notera även att guiden förutsätter att du har en tom MariaDB/MySQL-databas från början. Om din MariaDB/MySQL-databas redan innehåller tabeller, se då till att din Access-databas inte använder tabeller med samma namn.
Installera Access To MySQL
Access To MySQL är en Windows-applikation som du kan använda för att exportera innehållet i din .mdb-fil (din Access-databas) direkt till din MySQL-databas. Den är helt kostnadsfri och kan laddas hem härifrån.
När du laddat hem .zip-filen och packat upp den (med exempelvis WinZip eller IZArc) startar du installationsprogrammet genom att dubbelklicka på den resulterande .exe-filen. Starta programmet efter installationen.
Om du får nedanstående felmeddelande när programmet startar måste du först installera en ODBC-drivrutin från MySQL. Följ då guiden längre ner på den här sidan, under Installera MySQLs ODBC-drivrutin. Om programmet startar som det ska, fortsätt enligt stegen nedan.
Så här ser programmet ut när det har startat:
Klicka på Next.
Klicka på knappen ”…” till höger om fältet Filename och leta rätt på din Access-databas (i formatet filnamn.mdb). Om du har filen på din webbserver hos oss behöver du först ladda hem den till din dator med ett FTP-program.
Klicka på Next.
Välj alternativet Direct transfer. Fyll sedan i de efterföljande fälten med nedanstående värden:
- Host
- mysqlXXX.loopia.se (ersätt XXX med numret på din MySQL-server)
- Port
- 3306
- Username
- Ditt användarnamn
- Password
- Ditt lösenord
- Destination database
- Namnet på din databas, ex mindoman_se
- Storage engine
- MyISAM
Klicka på Next.
Se till att alla tabeller du vill överföra till MySQL-databasen är ibockade.
Klicka på Next.
Se till att alla rutor är ibockade enligt bilden ovan. Korrigera dem bara om du är helt säker på vad du gör.
Klicka på Run Now.
All data från din Access-databas har nu flyttats in i din MySQL-databas.
Uppdatera din ASP-sida
För att din ASP-sida ska använda den nya MySQL-databasen i stället för den gamla Access-databasen måste du först uppdatera din connection string. Det gör du så här (klicka här för instruktioner för ASP.NET):
En connection string för Access ser ut så här:
Dim connection_string
connection_string =
"Provider=Microsoft.Jet.OLEDB.4.0;" &
"Data Source=" & Server.Mappath("databas.mdb") & ";" &
"User Id=användarnamn;" &
"Password=lösenord;"
Byt ut den mot följande:
Dim connection_string
connection_string = "Driver={MySQL ODBC 5.1 Driver};" &
"Server=mysql117.loopia.se;" &
"Port=3306;" &
"Option=131072;" &
"Stmt=;" &
"Database=mindoman_se;" &
"Uid=användarnamn;" &
"Pwd=lösenord"
Notera att anslutningssträngen måste stå på en och samma rad och bara är uppdelad på flera här för att få plats på bredden. Det vill säga att allt från och med rad två i vardera kodexempel ska stå på samma rad.
Det du måste lägga till i den nya anslutningssträngen är alltså servernamnet till din MySQL-server (i exemplet ovan mysql117.loopia.se), namnet på din databas (i exemplet ovan mindoman_se), ditt användarnamn och ditt lösenord.
Om du har anslutningssträngar i flera filer måste samtliga uppdateras. När det är klart, och du har sparat dina filer och laddat upp dem till ditt FTP-konto, är din webbsida MySQL-driven i stället för Access-driven.
Grattis!
Uppdatera din ASP.NET-sida
Uppdatering av koden i ASP.NET är lite klurigare än i ASP. Notera att all kod nedan baseras på den exempelkod vi har tillgänglig här i supportdatabasen för anslutning till Access eller MySQL. För en bättre förståelse av vad koden nedan gör kan du ladda ner exemplen och läsa igenom koden.
Först måste du byta ut följande namespace:
<%@ Import Namespace="System.Data.OleDb" %>
… och ersätta det med följande:
<%@ Import Namespace="System.Data" %> <%@ Import Namespace="MySql.Data.MySqlClient" %>
Därefter är det själva Page_Load()-metoden som behöver uppdateras. I din kod för anslutning till Access ser den ut ungefär så här:
public void Page_Load(object Sender, EventArgs E)
{
OleDbConnection oConn = new OleDbConnection();
string strConn = "";
string strResult = "Anslutningen lyckades.";
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;data source=" +
HttpContext.Current.Server.MapPath("sökvägtilldindatabasdb.mdb");
try
{
oConn.ConnectionString = strConn;
oConn.Open();
}
catch(OleDbException eDBOpen)
{
strResult = GetDBError(eDBOpen);
}
oConn.Close();
LabelResult.Text = strResult;
}
Den här koden ska du ersätta med följande kod (notera att tecknet \ innebär att raden inte ska radbrytas):
public void Page_Load(object Sender, EventArgs E) {
MySql.Data.MySqlClient.MySqlConnection conn;
string myConnectionString;
string strResult = "Anslutningen lyckades.";
myConnectionString = \
"server=mysql.dindoman.se;uid=dindoman_se@l123123; \
pwd=XXX;database=dindoman_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;
}
Metoddeklarationen GetDBError() ska du ändra från detta:
public string GetDBError(OleDbException e) {
… till detta:
public string GetDBError(Exception e) {
När det är klart, och du har sparat dina filer och laddat upp dem till ditt FTP-konto, är din webbsida MySQL-driven i stället för Access-driven.
Grattis!
Installera MySQLs ODBC-drivrutin
För att programmet Access To MySQL ska kunna ansluta till din MySQL-databas hos Loopia behövs en ODBC-drivrutin. Om du saknar den kan du ladda hem den från MySQL på den här adressen.
När du sparat .msi-arkivet på din dator, dubbelklicka då på filen för att starta installationsprogrammet. Då möts du av följande fönster:
Klicka på Next.
Välj alternativet Typical och klicka på Next.
Klicka på Install.
Drivrutinen installeras nu.
Allt klart. Klicka på Finish för att avsluta installationsprogrammet.












