webForumDet fria alternativet

Olika typer av databaser

.NETur .NET

17 svar · 788 visningar · startad av pirajan

pirajanMedlem sedan apr. 2001246 inlägg
#1

Hej!
Jag håller på med ett projekt där jag använder mig av vanlig access databas. Jag undrar nu om jag kan köra detta projekt mot någon annan typ av databas utan att göra stora ändringar i koden.

TravoniMedlem sedan okt. 20041 556 inlägg
#2

Visst: MySql(kostar gratis) eller MsSql(kostar plenty)

pirajanMedlem sedan apr. 2001246 inlägg
#3

Hur göra?

emissionMedlem sedan dec. 19996 721 inlägg
#4

Det finns massor av alternativ, bland annat de som Travoni nämner (MsSql är det som stöds bäst, men andra alternativ fungerar i praktiken nästan lika bra). MySql är nog den gratisdatabas som används mest, och därmed är det lätt att få support (och många webbhotell använder den).

Andra icke svindyra alternativ skulle kunna vara FireBird, SQLite och PostgreSQL, för att bara nämna några.

emissionMedlem sedan dec. 19996 721 inlägg
#5

pirajan skrev:

Hur göra?

Ladda hem och installera....:)

MsSql finns i en utvecklingsversion, som heter MSDE. Finns på Microsoft webbplats. Dock bör du tänka på att MSDE inte duger till att driva någon webbplats.

MySQL finns på https://www.mysql.com

Oavsett vilket alternativ du väljer ska du även ladda hem en .NET Provider till respektive databasmotor. MsSql:s provider följer med som standard till .NET

pirajanMedlem sedan apr. 2001246 inlägg
#6

Om jag skrivit alla databaskopplingar till oledbconnections då?

emissionMedlem sedan dec. 19996 721 inlägg
#7

Det går att köra med oledbconnections också, men det är inte lika effektivt.

TravoniMedlem sedan okt. 20041 556 inlägg
pirajanMedlem sedan apr. 2001246 inlägg
#9

Jag känner till olika databastyper sedan tidigare, men vad är det för skillnad mellan oledb och sqlclient i .Net? Med vilke kan jag köra MySQL för att lösningen ska vara mest effektiv?

mozillaMedlem sedan juli 20011 084 inlägg
#10

MySqlClient e väl mest effektivt om du ska använda MySql.

dvs. som redan är sagt att man laddar ner MySql Providern.

natasMedlem sedan juli 200568 inlägg
#11

MsSql finns i en utvecklingsversion, som heter MSDE. Finns på Microsoft webbplats. Dock bör du tänka på att MSDE inte duger till att driva någon webbplats.

Varför inte då?..

HermanMedlem sedan maj 2001431 inlägg
#12

Fungerar oxå prima att använda System.Data.Odbc; mot MySQL. Allt du behöver är att ladda mer MyODBC från https://www.mysql.com

OdbcConnection
OdbcCommand
OdbcDataReader

emissionMedlem sedan dec. 19996 721 inlägg
#13

natas skrev:

MsSql finns i en utvecklingsversion, som heter MSDE. Finns på Microsoft webbplats. Dock bör du tänka på att MSDE inte duger till att driva någon webbplats.

Varför inte då?..

Ja, det kanske duger till en liten webbplats, utan särskilt många besökare, men MSDE klarar inte mer än 5 samtidiga frågor (25 användare), utan att börja degradera prestanda betänkligt. Det funkar utmärkt till en viss gräns, men sedan när det inte går så bra längre står man där som ett fån och undrar om man ska lägga 50 papp på SQL Server, eller bygga om allt för någon annan databasmotor.

natasMedlem sedan juli 200568 inlägg
#14

Ja, det kanske duger till en liten webbplats, utan särskilt många besökare, men MSDE klarar inte mer än 5 samtidiga frågor (25 användare), utan att börja degradera prestanda betänkligt

Men är det inte så att 1 användare använder ju 1 connection typ högst en sekund, sen är han klar med den och släpper den till en annan som gör likadant, så att de ställs i kö ,en websida är ju stateless, servern vet ju inte vilken användare som ställer frågorna, så på en webplats kommer det ju då ta ett tag innan det ställs 25 frågor exakt samtidigt, kanske krävs 500 samtidiga användare för att komma upp i ett sån fråge-kaskad. Eller menar dom kanske istället att man bara kan skapa 25 serverlogins?.

emissionMedlem sedan dec. 19996 721 inlägg
#15

natas skrev:

Men är det inte så att 1 användare använder ju 1 connection typ högst en sekund, sen är han klar med den och släpper den till en annan som gör likadant, så att de ställs i kö ...

Jo, och just detta blir ett problem med MSDE.

natas skrev:

...så på en webplats kommer det ju då ta ett tag innan det ställs 25 frågor exakt samtidigt...

5 frågor, inte 25.

natas skrev:

Eller menar dom kanske istället att man bara kan skapa 25 serverlogins?.

Nej, 25 samtidiga connections, 5 samtidiga frågor. Det äts upp väldigt fort.

Jag kan tänka mig att revidera min kommentar till att lyda "Dock bör du tänka på att MSDE inte duger till att driva någon välbesökt webbplats."

BrimbaMedlem sedan dec. 19995 875 inlägg
#16

SQL-Server 2005 Express Edition kan man säga är microsofts svar på mySQL som jag förstår det.

Problemet är att det planeras att släppas först den 7:e november och om projektet är kritiskt så rekommenderar jag inte att köra på det.
Om projektet däremot är lite mer hobbybetonat och lansering sker efter 7:e november så tycker jag att du skall ladda ner den senaste CTP-versionen och testa med.

http://www.microsoft.com/downloads/details.aspx?familyid=6E4AAC3A-9D85-4734-B1FD-318FB83B0D29&displaylang=en

Det finns dock ett flertal begränsningar i express edition. Exempelvis max 4Gb stor databas, och den kan max läsa upp 1Gb av den i minnet. Läs gärna om alla specifika begränsningar här http://www.microsoft.com/sql/2005/productinfo/sql2005features.mspx

I andra fall så rekommenderar jag mySQL som är ett mycket bra gratisalternativ.

GladhMedlem sedan maj 20012 812 inlägg
#17

Jag kan tänka mig att revidera min kommentar till att lyda "Dock bör du tänka på att MSDE inte duger till att driva någon välbesökt webbplats."

Tja det beror på vad du sätter framför din databasserver, och hur du skriver din kod. Med rätt prestanda insatser och användning av cachade data så klara man sig riktigt långt på en MSDE. Precis som du sa så gäller det 5 samtidiga frågor (har dock för mig att det inte finns någon begränsning för antal anslutningar), man skall också tänka på att ASP.NET har en default gräns på att hantera 25 samtidiga anrop per processor. Det betyder att om dina databaser frågor tar max 1/5 av tiden för att exekvera sidan, så blir det (teoretiskt) möjligt att köra 25 samtidiga användare på en sida med hjälp av MSDE. Och 25 samtidiga användare är garanterat över 200 sessioner på sidan samtidigt, så det tar ett tag innan MSDE har blivit för liten.

Men som sagt, man kan döda servern rätt snabbt med dåligt skriven kod, vilket även skulle inneburit problem för andra DB's.

- M

emissionMedlem sedan dec. 19996 721 inlägg
#18

Okej, jag måste erkänna att jag hade fel. Själva siffrorna stämmer, men det finns tecken på att många lyckas driva sajter med MSDE på ett förtjänstfullt sätt, och det får jag smälta. :)

Jag tror jag ska ta och testa MSDE på en server snarast...

140 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)