En liten parentes bara:
Kolla in prestanda med denna koppling mot mySQL och sedan en System-DSN (ODBC). Går ju enkelt i .NET och kika hur scriptet uppför sig genom Trace
cya,
PatrikB
49 svar · 4 135 visningar · startad av Pace
Många har säkert försökt få igång MySQL tillsammans med ASP.NET utan att lyckas. Jag är en av dem, men ikväll lyckades jag och ska härmed dela med mig av erfarenheten.
<%@ Page Language="VB" Debug="True" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="Microsoft.Data.Odbc" %>
<script runat="server">
Sub Page_Load(obj as Object, e as EventArgs)
' Connection-sträng samt SQL-sträng.
Dim strConnectionString As String = "Driver={MySQL};Database=testdb"
Dim strSQL As String = "SELECT * FROM test"
' Skapa de båda objekten.
Dim objConn As New [red]OdbcConnection[/red](strConnectionString)
Dim objCmd As New [red]OdbcDataAdapter[/red](strSQL, objConn)
' Fyll ett DataSet.
dim ds as DataSet = new DataSet()
objCmd.Fill(ds, "test")
' Välj en DataView och bind till serverkontrollen.
MyDataList.DataSource = ds.Tables("test").DefaultView
MyDataList.DataBind()
End Sub
</script>
<html><body[b][/b]>
<ASP:DataList id="MyDataList"
RepeatColumns="2" RepeatDirection="Vertical" runat="server">
<ItemTemplate>
<div style="padding:15,15,15,15;font-size:10pt;font-family:Verdana">
<b>ID:</b> <%# DataBinder.Eval(Container.DataItem, "id") %><br>
<b>Namn:</b> <%# DataBinder.Eval(Container.DataItem, "name")%><br>
</div>
</ItemTemplate>
</ASP:DataList>
</body></html>
Databasen är av det enklaste slaget, en tabell vid namn test och två fält: id och name.
En liten parentes bara:
Kolla in prestanda med denna koppling mot mySQL och sedan en System-DSN (ODBC). Går ju enkelt i .NET och kika hur scriptet uppför sig genom Trace
cya,
PatrikB
Om man inte har någon BIN-katalog what so ever (Hittar ingen iaf.). Hur gör man?
Du kan ha en cgi-bin katalog. Går lika bra att lägga .dll'er där.
cgi-bin får man när FP Ext. är installerat på webben och då behövs inte bin katalogen. Det man ska se till är att denna katalog (cgi-bin, bin) endast har script source access. Ingen read, write eller ngt annat för IUSR_<servername>
cya,
PatrikB
Så det är bara lägga till en mapp med namnet bin eller cgi-bin och ställa in rättigheterna?
jepp,
Nu fick jag äntligen igång det. Det som behövdes var en uppgradering av MyODBC samt en fix till MDAC. :e
Är det någon som vet något om en speciell class utformad för att använda MySql? Har för mig att det fanns en sådan men kan inte komma på vart jag läst om det. Classerna skulle heta: MySqlConnection, MySqlCommand osv.
MySqlDirect .NET Data Provider, kostar $99 men ger väl bättre prestanda än befintliga klasser i ramverket.
Finns även en som kallas dbProvider och som jag tycker funkar mycket bra. Den finns i olika versioner från gratis och uppåt.
Gratis varianten har tyvärr inte stöd för connection pooling har jag för mig.
Kan laddas ned här: http://www.einfodesigns.com/
cya,
PatrikB
Är det ens värt att lära sig ASP.NET om man inte jobbar professionellt med det? Gör man egna hobbyprojekt har man ju inte direkt råd att betala 1000 kr i månaden för en SQL Server-databas, och MySQL lär ju inte fungera tillsammans med ASP.NET på speciellt många webhotell med tanke på hur krångligt det verkar att få det att fungera.
Upplys mig! :) ASP är ett sjunkande skepp och jag vet inte i vilken livbåt jag ska hoppa. Den som tar mig till ASP.NET eller den som tar mig till PHP.
Om du har Office 2000 eller XP så kan du installera MSDE (Microsoft Data Engine)....det är en skalad version av SQL-server där kapaciteten är 5 användare och 2 gigabyte utrymme.
Leta efter en fil som heter SetupSQL.exe sen är det bara att köra. :)
När jag läser din fråga igen så spelar inte detta som jag skrivit någon roll ;) Men om jag ska svara på din fråga så tycker jag att du ska "hoppa på tåget" redan nu för kan du programmera i de språk du vill programmera i (C#, VB.NET eller nått annat språk) så är du inte bara ASP.NET du kan skapa applikationer i utan även windowforms.
mvh icaaq
Eftersom jag inte vet vad det är för någonting så kan jag anta att jag inte skulle vara intresserad av att skapa "windowforms". ;)
Jag vill skapa webbapplikationer som inte kostar skjortan att lägga ut på webben. Hade man kunnat använda vilken databas man ville så skulle jag garanterat lärt mig ASP.NET.
Kan du inte använda access ?
Nej, den håller inte måttet.
e inget problem att köra asp.net och mySQL, som jag har upptäckt. OK, e ju inte samma prestanda som mot ms-sql server, men klart bättre än access och billigare än ms-sql server.
Antingen använder man sig av Microsoft.Data.Odbc.dll, dbProvider etc och lägger dessa .dll'er i sin <bin> eller den katalog där man har sina .dll'er i och lägger sedan en reference till den i web.config. Svårare än så är det inte :e
cya,
PatrikB
Tror du på fullt allvar att du kan få ett webbhotell att göra det du föreslår ovan? Det tror faktiskt inte jag.
Om inte så gör man som jag gör. Refererar till den i CompilerOptions eller vad det nu heter :) Osäker...
Tror faktiskt att Aleborg tänker försöka sig på det. Vet inte hur spritt det kommer vara på andra webhotell.