Avatar billede Slettet bruger
19. juli 2007 - 17:51 Der er 16 kommentarer og
1 løsning

Installation af MysQL connector?

Hej eksperter..

Jeg har nu i flere timer prøvet at få ASP.NET til at vise noget fra min MySQL Database men uden held..

Jeg har dog forstået så meget at jeg skal have installeret MySQL Connector/ODBC 3.51 (som jeg har downloaded den version som hedder Without installer (unzip in C:\))

Så har jeg forstået at der skal bruges en repeator til at spytte data ud til klienten. og der har jeg fundet nogle guides.

Men mit første problem er at jeg ikke ved hvordan jeg skal indstallere det her Connector/ODBC 3.51 på mit webhotel ved web10.dk?

(web10.dk har ikke nogen indstalleret driver til det)
Avatar billede arne_v Ekspert
19. juli 2007 - 18:00 #1
Det kan der gives et meget hurtigt svar paa: det kan du ikke.

ODBC drivere skal installeres af sys admin.

En af grundende til at man normalt foretraekker MySQL Connector for .NET som ikke
kraever installation.
Avatar billede Slettet bruger
19. juli 2007 - 18:03 #2
Okay den har jeg også set et par steder.. men jeg troede bare at det var det samme?..

Men hvordan fungere den ?..
Avatar billede Slettet bruger
19. juli 2007 - 18:03 #3
altså hvordan bruger jeg den?
Avatar billede arne_v Ekspert
19. juli 2007 - 18:19 #4
Klasserne hedder MySqlXxxxx fremfor OdbcXxxx.

Du skal importere MySql.Data.MySqlClient fremfor System.Data.Odbc.

Og saa skal MySql.Data.dll uploades til serveren i bin dir.

Saa boer det virke.
Avatar billede Slettet bruger
19. juli 2007 - 21:41 #5
Okay.. Jeg er Noob inden for det her .NET

Jeg har uploaded filen nu.. Og klasser er ting som fx: MySqlConnection og MySqlCommand ??

Nu skal jeg så bare vide hvordan jeg åbner databsen ? eller connector til den?..
Lige nu ser min kode sådan ud:

<%@ Page Language="C#" %>

<%@ Import Namespace = "MySql.Data.MySqlClient" %>


<script runat="server">
MySqlConnection con = new MySqlConnection("Server=xxxx;UID=xxx;PWD=xxxx;Database=xxx");
        con.Open();
        MySqlCommand sel = new MySqlCommand("SELECT * FROM Brugere", con);
        con.Close();

</script>

--------
Men giver fejlen:
CS1519: Invalid token '(' in class, struct, or interface member declaration

ved:
con.Open();
Avatar billede arne_v Ekspert
19. juli 2007 - 22:07 #6
I ASP.NET kan man ikke bare skrive kode uden at det er i en metode.

Jeg finder lige et par eksempler.
Avatar billede arne_v Ekspert
19. juli 2007 - 22:07 #7
<%@ import namespace="MySql.Data.MySqlClient" %>
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
    MySqlConnection con = new MySqlConnection("Database=Test;Data Source=localhost;User Id=;Password=");
    con.Open();
    MySqlCommand sel = new MySqlCommand("SELECT COUNT(*) FROM t1", con);
    long n = (long)sel.ExecuteScalar();
    con.Close();
    result.Text = n.ToString();
}
</script>
<asp:label id="result" runat="server"/>
Avatar billede arne_v Ekspert
19. juli 2007 - 22:10 #8
<%@ import namespace="System.Data" %>
<html>
<head>
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
    // noget kode som ikke er relevant her
    MyDataList.DataSource = <f.eks. en data reader>;
    MyDataList.DataBind();
}
</script>
</head>
<body>
<form runat=server>
    <table border>
        <asp:Repeater id="MyDataList" runat="server">
            <ItemTemplate>
                <tr>
                <td><%# DataBinder.Eval(Container.DataItem,"F1") %></td>
                <td><%# DataBinder.Eval(Container.DataItem,"F2") %></td>
                </tr>
            </ItemTemplate>
        </asp:Repeater>
    </table>
</form>
</body>
</html>
Avatar billede arne_v Ekspert
19. juli 2007 - 22:11 #9
Et eksempel i VB.NET:

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script language="VB" runat="server">
    Private Sub LoadData
        Dim con As SqlConnection = New SqlConnection ("server=ARNEPC3;Integrated Security=SSPI;database=Test")
        con.Open
        Dim da As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM T1", con)
        Dim ds As DataSet = New DataSet("T1")
        da.Fill(ds)
        MyDataList.DataSource = ds
        MyDataList.DataBind
        con.Close
    End Sub
    Private Sub Page_Load(src As Object, e As EventArgs)
        Call LoadData
    End Sub
    Private Sub Save_Click(src As Object, e As EventArgs)
        Dim con As SqlConnection = New SqlConnection("server=ARNEPC3;Integrated Security=SSPI;database=Test")
        con.Open
        Dim ins As SqlCommand = New SqlCommand("INSERT INTO T1 VALUES(" & f1.Text & ",'" & f2.Text & "')", con)
        ins.ExecuteNonQuery
        con.Close
        Call LoadData
    End Sub
</script>
<form runat=server>
Current data:
<table border>
    <tr>
    <th>F1</th>
    <th>F2</th>
    </tr>
    <asp:Repeater id="MyDataList" runat="server">
        <ItemTemplate>
            <tr>
            <td><%# DataBinder.Eval(Container.DataItem,"F1") %></td>
            <td><%# DataBinder.Eval(Container.DataItem,"F2") %></td>
            </tr>
        </ItemTemplate>
    </asp:Repeater>
</table>
Add row:
<br/>
F1: <asp:TextBox id="F1" runat="server"/>
<br/>
F2: <asp:TextBox id="F2" runat="server"/>
<br/>
<asp:Button id="SaveBtn" Text="Save" OnClick="Save_Click" runat="server"/>
</form>
Avatar billede Slettet bruger
20. juli 2007 - 16:04 #10
Okay mange tak for eksemplerne :) ..
Men det sidste eksempel er det ikke til SQL og ikke MySQL?

Anyways jeg prøvede det første eksempel. Men der kan den vist ikke finde Namespaced selvom at jeg har uploaded denne MySQL.Data.dll til min bin dir?

Jeg får fejlkoden:
CS0246: The type or namespace name 'MySql' could not be found (are you missing a using directive or an assembly reference?)
Avatar billede arne_v Ekspert
20. juli 2007 - 22:29 #11
Jo. Men bare erstat SqlXxxx med MySqlXxxx.
Avatar billede arne_v Ekspert
20. juli 2007 - 22:30 #12
Kan du vise din directory struktur på dit web hotel ?
Avatar billede Slettet bruger
21. juli 2007 - 11:05 #13
Okay, jeg ved ikke helt hvordan så jeg tog bare lige et billede :) :
http://www.manko.dk/untitled-2.gif

Den der aspnet_client ved jeg ikke lige hvor kommer fra men den er skrivebeskyttet..
Avatar billede arne_v Ekspert
23. juli 2007 - 03:27 #14
Så er der den hårde måde !

Prøv og put:

<%@ Assembly Name="MySql.Data" %>

ind i toppen af din .aspx !
Avatar billede Slettet bruger
23. juli 2007 - 19:16 #15
Her er mit kode så :

<%@ Assembly Name="MySql.Data" %>
<%@ import namespace="MySql.Data.MySqlClient" %>
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
    MySqlConnection con = new MySqlConnection("SERVER=xxx; DATABASE=xxx; UID=xxx; PWD=xxx");
    con.Open();
    MySqlCommand sel = new MySqlCommand("SELECT COUNT(*) FROM t1", con);
    long n = (long)sel.ExecuteScalar();
    con.Close();
    result.Text = n.ToString();
}
</script>
<asp:label id="result" runat="server"/>


Nu skriver den bare at der er fejl i linje 1 ved <%@ Assembly Name="MySql.Data" %>..
- Parser Error Message: ?
- Assembly Load Trace: The following information can be helpful to determine why the assembly 'MySql.Data' could not be loaded.

Jeg har på mange steder med samme problem som mig, efterhånden set ordet "Reference" ?..
Avatar billede Slettet bruger
23. juli 2007 - 19:20 #16
Dette står også under fejlmeddelelsen.. Jeg ved ikke om det er en Log eller lign:

=== Pre-bind state information ===
LOG: DisplayName = MySql.Data
(Partial)
LOG: Appbase = file:///c:/webs/talkactive/web129988/manko.dk
LOG: Initial PrivatePath = bin
Calling assembly : (Unknown).
===

LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: MySql.Data
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/root/2847db76/bd45acd2/MySql.Data.DLL.
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/root/2847db76/bd45acd2/MySql.Data/MySql.Data.DLL.
LOG: Attempting download of new URL file:///c:/webs/talkactive/web129988/manko.dk/bin/MySql.Data.DLL.
Avatar billede Slettet bruger
15. januar 2008 - 11:55 #17
Lukkert...
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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