Avatar billede garant11 Nybegynder
13. april 2012 - 22:07 Der er 9 kommentarer og
2 løsninger

Fra access til oracle

Hej experter.

Jeg har et community i classic asp med access DB, men jeg gerne skifte til en anden database fordi at access ikke håndter så meget.

Jeg har prøvet MYSQL men jeg finder det alt for forvirrende så jeg har overvejet oracle som skulle være mindst lige så god som MYSQL.

Men mit problem er at jeg ved ikke hvordan man laver det skift og hvordan jeg kan på det på min iis server?

Kan man bare hente oracle og skifte sin connecstring og provider ud? eller hva?

Håber der er nogen som kan forklare mig det eller give nogle gode link på dansk. Det skal lige siges at jeg stadig lidt af en begynder.
Avatar billede keysersoze Guru
13. april 2012 - 22:28 #1
Hvis du synes at MySQL er forvirrende er jeg ret sikker på at du også vil finde Oracle forvirrende - mindst. Access er en simpel fil-database (og det passer ikke engang, det er kun en frontend til den egentlig database) hvor MySQL, Oracle og MSSQL er egentlige server-databaser så det det nok mere handler om er at finde en frontend der er til at håndtere, til Oracle kunne det fx være TOAD, til MySQL fandtes engang noget der hed MySQL Front og til MSSQL hedder det Management Studio - men uanset hvad vil kompleksiten være højere end ved Access så du er nødt til at sluge en opgradering af dig selv. En let mulighed kunne måske være SQL CE, som stadig er en filbaseret database.

Skifter du database vil du udover et skift i provider/connectionstring også være nødt til at gennemteste al din SQL da der er variationer fra en database til en anden.
Avatar billede arne_v Ekspert
14. april 2012 - 00:56 #2
Der er to slags databaser:
- database servere
- embedded databaser

Database servere kan haandtere mange brugere men kraever ogsaa en del administration.

Embedded databaser kan ku haandtere faa brugere men kraever stort set ingen administration.

Hvis Access ikke kan klare din trafik, saa er jeg skeptisk overfor om en anden embedded database (SQLServer CE, FireBird, SQLite etc.) kan.

Men med en database server (MySQL, SQLServer, Oracle, DB2, PostgreSL etc.) skal du altsaa laere en lille smule om database installation/konfiguration/administration.

Jeg vil klart mene at MySQL er en af de nemmere. Betydeligt nemmere end Oracle.

MySQL har idag en MySQL WorkBench som er OK til administration.

For at kunne tilgaa databasen fra ASP skal du enten have en OLE DB provider eller en ODBC driver (OLE DB er at foretraekke). Men det er ikke et problem, da naesten alle database har saadan en.
Avatar billede garant11 Nybegynder
14. april 2012 - 09:50 #3
Okay. Mange tak for jeres svar.
Det hjalp mig. Har længe ville væk fra access.

Jeg har tjekket Oracle ud og ja, det er mere forvirrende så jeg har valgt at downloade MYSQL Server 5.5, MySQL Connector/ODBC 5.1 og MySQL Workbench 5.2 CE.
Jeg hentede også DBConvert og fik min access DB konverterede til MySQL. Jeg kæmpede lidt med at skifte min connectionstring men det lykkedes:
ConnectString = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;PORT=3306; DATABASE=MIN_DB; UID=root; pwd=xxxxxxx; OPTION=3"
(Hvad betyder OPTION delen?)

Og nu ser min side ud til køre som den skal.

Men jeg synes jeg mangler en del viden om MySQL og jeg ved ikke hvad forskellen på OLE DB eller ODBC? Hvad er bedst?

Kender i nogen gode danske sider hvor man kan lære? Det må gerne være engelske men har selv søgt og kan ikke rigtig finde nogen sider som gør i dybden.

Kan jeg dele min pointgivning op?
Avatar billede arne_v Ekspert
14. april 2012 - 16:09 #4
OLE DB er bedre end ODBC, men jeg kan ikke huske om MySQL kommer med en OLE DB provider (og du har fundet ODBC driveren).

MySQL har en OK manual:

http://dev.mysql.com/doc/refman/5.5/en/
Avatar billede keysersoze Guru
14. april 2012 - 19:03 #6
Uden selv at have målt på det vil jeg mene at SQL CE performer noget bedre end Access - men når nu en rigtig server database klogt nok er valgt er der nok ingen grund til at tage den længere.

Du kan godt dele point op - det kræver et svar fra begge parter.
Avatar billede arne_v Ekspert
14. april 2012 - 22:04 #7
og et svar fra mig
Avatar billede garant11 Nybegynder
15. april 2012 - 23:57 #8
Takker igen.
Jo, jeg har fundet ODBC driveren og installeret den.

Min side køre som den skal undtaget når jeg skal slette fra MySQL databasen.
Jeg plejer at slette sådan her:
set rsuser = conn.Execute("DELETE * FROM users WHERE id = " & id)

Og den eneste måde jeg har fundet ud af at slette er:
strSQL = "DELETE FROM users "
strSQL = strSQL&"WHERE id = '"& id &"' "
Set objExec = Conn.Execute(strSQL)

Kan jeg ikke bruge den gamle conn.execute metode ved at ændre lidt?

Men som du sagde keysersoze så må jeg nok sluge en opgradering af mig selv.

Vil lige tjekke de links ud. :-)
Avatar billede arne_v Ekspert
16. april 2012 - 00:59 #9
prov og slet stjernen

set rsuser = conn.Execute("DELETE FROM users WHERE id = " & id)
Avatar billede garant11 Nybegynder
23. april 2012 - 12:19 #10
Lige en tilføjelse til #4.

Når jeg får en fejl på min IIS 7 skriver den:
Microsoft OLE DB Provider for ODBC Drivers fejl 'Fejlkode'

Vil det sige at jeg har OLE DB og OCBC?

Hentede jo kun MySQL Connector/ODBC 5.1 og MySQL Server 5.5 og MySQL Workbench 5.2 CE.

Hmm, hvordan hænger det hele sammen?
Avatar billede arne_v Ekspert
23. april 2012 - 21:33 #11
ASP er en COM baseret teknologi.

ASP--OLE DB Provider for database XYZ--------database XYZ

virker umiddelbart.

ASP--ODBC Driver for database XYZ--------database XYZ

virker ikke, da ODBC ikke er en COM teknologi.

Saa det man goer er:

ASP--OLE DB Provider for ODBC--ODBC Driver for database XYZ--------database XYZ

Derfor den fejl meddelse.

Det er maaden man bruger ODBC fra ASP.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester