Avatar billede torotune Nybegynder
24. august 2006 - 17:33 Der er 14 kommentarer og
1 løsning

.xsd dataset og MySQL

Hej,

Jeg prøver at binde ObjectDataSource til et DataSet (.xsd-fil).
I datassettet er der defineret connections som henviser til en given ConnectionString i web.config. Den ser sådan ud hvis det er en Access-database der er bundet til:

DataSet1.xsd:   

      <Connections>
          <Connection AppSettingsObjectName="Web.config" AppSettingsPropertyName="ConnectionString" ConnectionStringObject="" IsAppSettingsProperty="True" Modifier="Assembly" Name="ConnectionString (Web.config)" PropertyReference="AppConfig.System.Configuration.ConfigurationManager.0.ConnectionStrings.ConnectionString.ConnectionString" Provider="System.Data.OleDb">
          </Connection>
      </Connections>

Hvordan vil det se ud hvis det skal bindes til en MySQL-database, kan det godt lade sig gøre?
Avatar billede snepnet Nybegynder
26. august 2006 - 20:05 #1
Du skal bruge en anden provider, men en provider til MySql følger ikke med i posen... Du kan hente en her:
http://dev.mysql.com/downloads/connector/net/1.0.html
Der er masser af docs til den derude.
Mvh
Avatar billede torotune Nybegynder
27. august 2006 - 13:41 #2
Hej,

Jeg har connectoren der installeret og lagt dll-filerne i min bin-mappe. Jeg har så lagt en connectionstring til MySQL i min web.config. Der ligger samtidig en connectionstring til en access-database, men hvis jeg opretter et dataset via guiden kan man kun vælge access-forbindelsen. Jeg tænkte derfor om man manuelt kunne skifte koden ud i <connections> i selve .xsd-filen så det er rettet mod MySQL-forbindelsen.
Avatar billede snepnet Nybegynder
27. august 2006 - 14:40 #3
Ok ... connectionstrings kan du finde her:
http://www.connectionstrings.com/
Men du skal bruge sådan en her:
Server=Server;Database=Test;Uid=UserName;Pwd=asdasd;
Mvh
Avatar billede torotune Nybegynder
27. august 2006 - 20:48 #4
Jeg har allerede en connectionstring til min MySQL i min web.config og den virker fint når jeg laver en test med en connection og et udtæk, rent programmatisk. Jeg kan bare ikke få det til at spille sammen med et DataSet. Via guiden, når jeg kører access, dannes ovenstående kode i xsd-filen. Men det er hvordan koden vil se ud hvis der bindes mod en MySQL-db frem for access'en..
Avatar billede snepnet Nybegynder
27. august 2006 - 22:26 #5
Du kan prøve at skrive din conntor ind som provider istedet for System.Data.OleDb (System.Data.MySqlClient mener jeg den hedder).
Jeg tror dog ikke det vil hjælpe dig meget. Hvis du har benyttes wizard'en har du formentlig fået genereret diverse sql med mere der er specifikt for en access database.
Hvis du vil have de samme muligheder med MySql kan du prøve at kigge på denne her:
http://www.crlab.com/mysqlnet/
(koster desværre penge, men jeg kender ikke andre der leverer et tilsvarende produkt).
Mvh
Avatar billede torotune Nybegynder
28. august 2006 - 12:30 #6
Jeg prøver MySqlnet, men jeg sidder fast ved installationen af den. Kan den overhovedet spille sammen med VWD 2005?
Avatar billede torotune Nybegynder
28. august 2006 - 12:40 #7
Jeg kan se at man skal lave en licenses-fil for at få trial versionen til at virke:

- Create a text file named licenses.licx.
- Place the text CoreLab.MySql.MySqlConnection, CoreLab.MySql in the file.
- Save the file and add it to a Visual Studio 2005 project.
- Right click on licenses.licx in the VS's Solution Explorer and select "Build Runtime Licenses" from the context menu.
- This will create a file named App_Licenses.dll in the solution's /bin folder.
-Copy this file to the /bin folder of your application.

Men i VWD er der ikke mulighed for at at vælge "Build Runtime Licenses" i context-menuen. Det er ellers simpelt beskrevet:

http://www.15seconds.com/issue/060317.htm
Avatar billede snepnet Nybegynder
28. august 2006 - 20:34 #8
Det virker fint i min VWD, punktet kommer frem når jeg højreklikker på filen licenses.licx
Mvh
Avatar billede torotune Nybegynder
28. august 2006 - 22:36 #9
Hej Snep,

Efter noget restart kom punktet også frem her :-) Men det ser ud til at min trial periode måske er udløbet. Men vil det sige at du så i VWD, efter registreringen, kan vælge MySQL som data connection i din Database Explorer og oprette datasets og har adgang til tools osv.?
Avatar billede snepnet Nybegynder
28. august 2006 - 22:43 #10
Trialperiode på hvad?
VWD ligger i release til gratis download.
Ja - det skulle give dig mulighed for at arbejde med MySql på lige fod med MSSql.
Mvh
Avatar billede torotune Nybegynder
29. august 2006 - 20:22 #11
Hej - det er min trialperiode på MySQLDirect der er udløbet, men de har været venlige at sende mig en ny. Jeg har det nu installeret og kan få hul igennem med et simpelt eksempel her, uden brug af wizards:

<%@ Page Language="VB" %>
<html>
<head>
  <title>MySQL ASP.NET 2.0 CoreLab GridView</title>
</head>
<body>
<form id="Form1" runat="server">
  <asp:SqlDataSource id="myMySqlDataSrc" runat="server"
    ProviderName="CoreLab.MySql"
    ConnectionString="server=localhost; user id=root; password=1234; database=testdb; pooling=false;"
    SelectCommand="SELECT * FROM MyTable;"
  />
  <asp:GridView id="myGridView" runat="server"
    DataSourceID="myMySqlDataSrc"
  />
</form>
</body>
</html>

Men hvordan ser det i din VWD ud i forhold til at se og anvende de medfølgende tools i toolboxen til venstre, samt muligheden for at oprette en MySQL-connection via Database Explorer eller danne et DataSet ligesom man kan med MSSQL/Access. Skal man gøre ekstra for at det bliver integreret i selve VWD?
Avatar billede torotune Nybegynder
04. september 2006 - 00:58 #12
Okay - fik lige bekræftet fra CoreLab at deres MySQLDirect ikke integrerer toolbox, design view eller lignende med express-versioner af VS, ligesom express-versioner heller ikke tager i mod extensions.. Så det kræver at man har VS 2005 pro før man kan bruge alle deres utilities. (hvilket vil sige alle de essentielle)

De siger dog at det ikke er noget problem da man stadig kan bruge deres komponenter i run-time hvis man vil. (forstår ikke helt hvad der menes).

Men læg endelig et svar for din hjælp Snepnet :-)
Avatar billede snepnet Nybegynder
04. september 2006 - 08:21 #13
De eneste der sker når du trækker noget ind fra toolbox'en er, at der genereres lidt kode til dig.
Koden må du så skrive selv med express-versionerne, men kan få den skrevet med den fulde vs.
Mvh
Avatar billede torotune Nybegynder
04. september 2006 - 09:30 #14
Det er rigtigt. Det er dog rimelig meget kode der bliver genereret ved oprettelse af datasets i designeren, med hensyn til update/insert/delete-sætninger og deres parametre. Så det var mest der der kunne være nogle timer at spare ved at anskaffe sig provideren :-)
Avatar billede snepnet Nybegynder
04. september 2006 - 21:40 #15
Well... Du kan normalt godt regne med at autogenereret kode fylder lidt mere, end hvis man skulle skrive det nødvendige kode i hånden.
Faktisk kan datasourcecontrols i rigtig mange tilfælde selv udlede parametrene.
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