Avatar billede jonas82 Nybegynder
13. august 2006 - 00:14 Der er 12 kommentarer og
2 løsninger

Mysql problem (Provider not installed)

Jeg prøver at få hul igennem til mysql 5, men får følgende fejl:

Unable to find the requested .Net Framework Data Provider.  It may not be installed.

- mysql-connector-net-1.0.7 er installeret.
- mysql.data.dll er i applikationens bin directory.

Min connectionstring fra web.config:

<connectionStrings>
        <add name="mysql" connectionString="server=localhost;
  uid=root; password=; database=test; pooling=false;"
  providerName="MySql.Data.MySqlClient"/>
    </connectionStrings>

Aspx siden:

<asp:SqlDataSource ID="ds1" runat="server"
ConnectionString="<%$ConnectionStrings:mysql %>" ProviderName="<%$ConnectionStrings:mysql.ProviderName %>"
SelectCommand="SELECT * FROM user" />

<asp:DataGrid ID="dg1" runat="server" DataSourceID="ds1" />
Avatar billede snepnet Nybegynder
13. august 2006 - 00:17 #1
Du har vel bare ikke provideren liggende i din bin-folder.
Du får en assembly (dll) når du downloader fra mysql. Den skal ligge i din bin-folder.
Mvh
Avatar billede jonas82 Nybegynder
13. august 2006 - 00:24 #2
Skal den ligge i andre foldere end bin folderen for min web applikation?

Jeg bruger VS2005. Bin folderen er visuelt en alm. mappe med et tandhjul på :-)
Avatar billede snepnet Nybegynder
13. august 2006 - 00:31 #3
Nej - den skal ikke ligge i andre, men hvis du bare laver en reference til bemeldte assembly, fikser vs resten.
Referencen opretter du ved f.eks. at højreklikke på dit projekt og vælge "add referece". Det giver dig en dialogboks hvor du kan vælge browse.
Der kan du så browse hen og vælge din assembly.
Mvh
Avatar billede jonas82 Nybegynder
13. august 2006 - 00:46 #4
Det giver desværre samme fejl.
Avatar billede snepnet Nybegynder
13. august 2006 - 08:54 #5
Har du prøvet at lave en reference til mysql.data.dll?
Og hvor er det din bin-folder optræder med et tandhjul?
Mvh
Avatar billede jonas82 Nybegynder
13. august 2006 - 11:32 #6
Bin folderen er i solution explorer på niveau med app_data og app_code.
Add reference tilføjede desuden følgende i web.config:
<assemblies>
<add assembly="MySql.Data, Version=1.0.7.30072, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</assemblies>

Jeg har googlet en del omkring problemet og har stødt på flere med samme problem, men ingen løsning. Noget tyder på at sqldatasource og mysql er en nogo. Dog har jeg læst at det skulle fungere med en corelab driver, men den koster desværre.
Avatar billede snepnet Nybegynder
13. august 2006 - 11:35 #7
Woops - ja det tror jeg du har ret i... Det er vist ikke de store issues der er med det.
Tror jeg har set noget om det på deres site på et tidspunkt.
Ser lige om jeg kan finde det.
Mvh
Avatar billede snepnet Nybegynder
13. august 2006 - 11:37 #8
Ahh... mente det nok :o)
http://bugs.mysql.com/bug.php?id=16126
Beklager de andre kommentarer... Jeg havde svedt det ud.
Mvh
Avatar billede jonas82 Nybegynder
13. august 2006 - 11:54 #9
Øv havde godt nok foretrukket mysql. Så er det eneste gratis alternativ vel sqlexpress...

Tak for hjælpen. Lad os dele pointene :)
Avatar billede snepnet Nybegynder
13. august 2006 - 12:06 #10
Der er mange fordele ved at benytte en database som asp.net teamet har forholdt til. Divers omkring brugerhåndtering, profiler etc. virker umiddelbart.
Mht. til det med hvorvidt provideren kan fungere med en sqldatasource, så synes jeg ikke du skal se det som noget synderligt issue... Hvis du vil udnytte de muligheder en sqldatasource giver, vil det medføre et mindre godt design af din applikation.
En go' model, og en objectdatasource er at foretrække synes jeg.
Mvh
Avatar billede jonas82 Nybegynder
13. august 2006 - 12:13 #11
http://www.codeproject.com/aspnet/MySQLCsharp.asp

Er det et godt eksempel på objectdatasource? Det ser i hvert fald ud til at fungere med mysql.
Avatar billede snepnet Nybegynder
13. august 2006 - 12:49 #12
Det er en lidt mere avanceret måde at gøre det på - som udgangpunkt kan du bruge en objectdatasource til at databinde til hvad som helst.

Du kan lige se et supersimpelt eksempel her:

// i app_code
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;

namespace Data
{
    public class DataAccess
    {
        public List<Data> GetAllData()
        {
            List<Data> list = new List<Data>();
            list.Add(new Data());
            list.Add(new Data());
            list.Add(new Data());
            list.Add(new Data());
            list.Add(new Data());
            return list;
        }
    }

    public class Data
    {
        private string m_Text = "Default text";
        private int m_Number = 100;

        public int Number
        {
            get { return m_Number; }
        }

        public string Text
        {
            get { return m_Text; }
        }
    }
}

// og lidt aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SimpleObjectDataSourceBinding.aspx.cs" Inherits="SimpleObjectDataSourceBinding" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:GridView id="DataList" runat="server" DataSourceID="DataDataSource"></asp:GridView>
    <asp:ObjectDataSource ID="DataDataSource" runat="server" TypeName="Data.DataAccess" SelectMethod="GetAllData">
    </asp:ObjectDataSource>   
    </form>
</body>
</html>

Det skulle gerne vise dig en liste på siden.

Mvh
Avatar billede jonas82 Nybegynder
13. august 2006 - 13:10 #13
Det ser smart ud. Så i getAllData kunne jeg hente data fra mysql eller anden db, men det skulle vel virke med mysql. Så får jeg vel slet ikke brug for sqldatasource.
Avatar billede snepnet Nybegynder
13. august 2006 - 13:13 #14
Nej - så skal du ikke bruge en sqldatasource.
Mvh
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