webForumDet fria alternativet

hämta poster ur en MySQL databas?

.NET

15 svar · 430 visningar · startad av Bosse168

Medlem sedan nov. 20031 018 inlägg
Frågan#1

Hur gör man för att hämta och skriva ut poster ur en MySQL databas? Jag har installerat MyOLEDB 3.0 på servern som MySQL databasen ligger på (annan server än själva sidan). :stud

Medlem sedan apr. 2004778 inlägg
#2

Om jag inte har helt fel så måste du installera MyOLEDB på webbservern.

Medlem sedan nov. 20031 018 inlägg
#3

Jag har ju installerat MyOLEDB

Medlem sedan apr. 2004778 inlägg
#4

Ja men du skriver

Jag har installerat MyOLEDB 3.0 på servern som MySQL databasen ligger på (annan server än själva sidan).

Det jag syftar på är att du ska installera MyOLEDB på den servern sidan ligger på = Webbservern. Du har ju installerat den på databasservern.

Medlem sedan nov. 20031 018 inlägg
#5

Så det är lättare att hämta data ur en access databas än en MySQL databas?

Medlem sedan juni 20019 024 inlägg
#6

Bosse168 skrev:

Så det är lättare att hämta data ur en access databas än en MySQL databas?

Om du inte installerar den mjukvara som krävs för att MySQL ska fungera så kan du inte säga att det lättare med Access. ;)

För att besvara din fråga; det är minst lika lätt när allt väl är uppe och körs.

Gör som PDahlen säger och försök igen.

Medlem sedan apr. 2004778 inlägg
#7

Det vet jag inte för jag kör varken eller, och det har inte riktigt med frågan att göra, men du kan inte hämta ur en databas på en annan server om du inte har drivrutiner för den databasen på webbservern. Det är ju sidorna som skall anropa databasen och då måste datorn sidorna ligger på kunna prata med databasen. I ditt fall kan den inte det eftersom du bara har installerat MyOLEDB på den datorn där databasen ligger, inte på datorn där sidorna ligger.

Medlem sedan nov. 20031 018 inlägg
#8

Hur vet man om MyOLEDB är installerat på servern där sidorna ligger?
Försöker få en gästbok att fungera, den funkar med Access men inte med en MySQL databas och jag verkligen använda min redan befintliga MySQL databas.

<% Response.Buffer = "true" %>
<%@ Page Language="VB" Debug="true" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<Script runat="server"> 
	Dim DataItem
    	 Function CreateDataSource() As DataTable 

     	'Koppla upp mot databasen 
       	Dim objConn as new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("\test\") &"database.mdb") 'GLÖM INTE ATT ÄNDRA KOPPLINGEN!

       	'Anslut med databastabellen 
       	Dim objCom as new OleDbDataAdapter("SELECT Writer, WriterEmail, Certificate, MessageDateTime, Message, Answer FROM guestbook WHERE Passed = 1 ORDER BY ID desc", objConn) 

       	'Fyll DataSet 
       	Dim ds as DataSet = new DataSet() 
       	objCom.Fill(ds, "guestbook") 

       	return ds.Tables("guestbook") 
      
     	End Function 

     	Sub Page_Load(sender As Object, e As EventArgs) 

        	' Ladda datan bara en gång 
        	If Not IsPostBack Then 
         
            		'Välj datavy och bind till serverkontrollen 
            		Datagrid1.DataSource = CreateDataSource() 
            		Datagrid1.DataBind() 

        	End If 

     	End Sub 

    	Sub Datagrid1_PageIndexChanged(obj as Object, e as DataGridPageChangedEventArgs)   
        	' Set CurrentPageIndex to the page the user clicked. 
        	DataGrid1.CurrentPageIndex = e.NewPageIndex 

        	' Rebind the data to refresh the DataGrid control. 
        	DataGrid1.DataSource = CreateDataSource() 
        	DataGrid1.DataBind() 
      
    	 End Sub 
</Script> 

<HTML>
<HEAD>
<TITLE>Gästboken</TITLE>
</HEAD>

<BODY>
<b>Gästboken</b><BR>
Om du vill säga vad du tycker eller berätta att du har varit här utan att skicka mig ett mail så är ju gästboken ett utmärkt sätt. Kladda på.<BR>
<a href="write.aspx">Skriv ett meddelande till mig</a>
				<HR SIZE="1">
				<% If Request.Querystring("saved") = "yes" Then Response.Write("Ditt meddelande har postats. Det kommer nu att godkännas av mig.") %>
				<FORM Runat="server">
				<ASP:DataGrid id="Datagrid1" Width="100%" runat="server"
				AutoGenerateColumns="False"
				AllowPaging="true"
				PageSize=10
				PagerStyle-Mode=NumericPages
				PagerStyle-PageButtonCount=20
				OnPageIndexChanged="Datagrid1_PageIndexChanged">

					<Columns> 
					<ASP:TemplateColumn HeaderText="<CENTER><b>Meddelanden</b></CENTER>">  
					<ItemTemplate>
						<TABLE BORDER="0" WIDTH="100%" CELLPADDING="3">
						<TR>
						<TD WIDTH="100%">
     						<%# Server.HtmlEncode(Container.DataItem("Message")) %> 
     						<BR><BR> 
     						<B>Svar:</B> <I><%# Server.HtmlEncode(Container.DataItem("Answer")) %></I>
						<CENTER><HR SIZE="1" WIDTH="97%"></CENTER>
						Skrivet av <A HREF="mailto:<%# Server.HtmlEncode(Container.DataItem("WriterEmail")) %>">
						<%# Server.HtmlEncode(Container.DataItem("Writer")) %></A>
						<%# Server.HtmlEncode(Container.DataItem("MessageDateTime")) %>,
						som ger siten <B><%# Server.HtmlEncode(Container.DataItem("Certificate")) %></B> i betyg. 
						</TD>
						</TR>
						</TABLE>
					</ItemTemplate>
					</ASP:TemplateColumn> 
					</Columns>
				</ASP:DataGrid>
				</FORM>
Den här gästboken finns att ladda ner på ASPsidan.nu.<BR>
&copy; Christoffer Lejdborg 2003			
</BODY>
</HTML>
Medlem sedan juni 20019 024 inlägg
#9

Jadu, börja med att ändra anslutskopplingen (connection-string) till databasen. Byt sedan ut System.Data.OleDb mot System.Data.Odbc. Då skall det vara klart.

Medlem sedan jan. 20012 204 inlägg
#10

Ohh hata Odbc, alltid strul med det. Kom ihåg att System.Data.Odbc inte finns i version 1.0

Medlem sedan nov. 20031 018 inlägg
#11

Får detta fel mess:

Compiler Error Message: BC30002: Type 'OdbcConnection' is not defined.

Source Error:

Line 10:
Line 11: ' Skapa de båda objekten.
Line 12: Dim objConn As New OdbcConnection(strConnectionString)
Line 13: Dim objCmd As New OdbcDataAdapter(strSQL, objConn)

Medlem sedan juni 20019 024 inlägg
#12

P skrev:

Ohh hata Odbc, alltid strul med det. Kom ihåg att System.Data.Odbc inte finns i version 1.0

Har aldrig strulat för mig. ;)

I 1.0 så är det assemblyn och namespacet Microsoft.Data.Odbc som gäller. Laddas ned från Microsoft, sök i detta forum för länk.

Bosse168 skrev:

Type 'OdbcConnection' is not defined.

Antingen har du inte angett namespacet eller så finns det inte (du har därmed 1.0).

Medlem sedan nov. 20031 018 inlägg
#13

Vart kan jag ladda ner 1.1?

Medlem sedan apr. 2004778 inlägg
Medlem sedan jan. 20012 204 inlägg
#15

Pace skrev:

P skrev:

Ohh hata Odbc, alltid strul med det. Kom ihåg att System.Data.Odbc inte finns i version 1.0

Har aldrig strulat för mig. ;)

Funkar väl hyffsat om man kör på server, ska man hålla på och leka med WinForms, då blir det jobbigare, skicka med ODBC-Connet grejen från mysql osv. *suckar*

Medlem sedan feb. 20038 inlägg
#16

Ladda ner ByteFX istället. Inga krångliga installationer och fungerar perfekt.
Hur du gör kan du se här

Faktum är att ByteFX skall bli den officiella .NET providern för MySql . Läs mer på ByteFX.com

307 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
172 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)