[.NET] Webservice met MySQL probleem.

Pagina: 1
Acties:

  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
Hoi hoi,

Ik probeer in een .NET omgeving asp.net webservice een aantal data uit een MySQL Database van php uit te lezen. Ik wilde dit een keer experimenteren, dus niet met SQL Server of Access Database. Nu kan ik wel data's in de database zetten, tabe aanmaken, tabel verwijderen etc.

Het enige wat niet lukt is een select query uitvoeren. Heb via de MySQL website al naar info gezocht en de voorbeeld code opgenomen en weer bij de SELECT query springt ie over naar de exception.

Wie heeft er hier meer ervaring mee en kan me hierbij helpen?

Wat je wil is niet altijd wat je nodig hebt!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

Of je hebt een extreem warrig verhaal neergezet, of je hebt geen idee waar je het over hebt. Welke van de twee het is, ben ik nog niet uit.

Welke exception? Welke regel? Welke code?

En wat MySQL te maken met PHP als je met .Net een webservice wil maken? Wat heeft het maken van een webservice uberhaupt te maken met de achterliggende database? Wil je de webservice maken of consumen? In het laatste geval: Hoe weet je zeker dat de fout in je .Net-code ligt en niet je PHP webservice fout is?

[ Voor 19% gewijzigd door gorgi_19 op 05-03-2004 09:42 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Ik begrijp ook niet echt waar je het over hebt?
Wat heeft PHP met het verhaal te maken?

Wat wil je precies bekomen, wat heb je daartoe al gedaan, welke exceptie wordt er gegeven, etc...

https://fgheysels.github.io/


  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
gorgi_19 schreef op 05 maart 2004 @ 09:36:
Of je hebt een extreem warrig verhaal neergezet, of je hebt geen idee waar je het over hebt. Welke van de twee het is, ben ik nog niet uit.

Welke exception? Welke regel? Welke code?

En wat MySQL te maken met PHP als je met .Net een webservice wil maken? Wat heeft het maken van een webservice uberhaupt te maken met de achterliggende database? Wil je de webservice maken of consumen? In het laatste geval: Hoe weet je zeker dat de fout in je .Net-code ligt en niet je PHP webservice fout is?
Ok op deze pagina: http://www.mysql.com/prod.../manual.html#ODBC.NET(VB) helemaal onderaan staat een voorbeeldje van hoe je een connectie zou kunnen maken met .NET omgeving in combinatie met MySQL van php. Hier was ik dus benieuwd naar dus ben ik aan de slag gegaan. Ik heb alles opgevolgd van de website alles geïnstalleerd enzo.

Betreft .NET Je kunt bij een nieuwe vb applicatie toch kiezen om een webservice te maken? dat heb ik dus gekozen en dan begint je code dus met <WebMethod()> een soort module zeg maar. Hierin vul ik mijn codes in en dan ga ik hem runnen.
Als je de code op die website zou volgen dan kan ik alles uitvoeren behalve het ophalen van gegevens. Dan krijg ik namelijk een lelijke error waar ik niks mee kan.

EDIT:
Ik heb wel een kleine afwijking van het voorbeeldje.
Zij maken gebruik van een module en ik werk dus in de webservice mode.
Mijn code is dus:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<WebMethod()> _
    Public Function Blaat() As String
        Try

            'Connector/ODBC 3.51 connection string
            Dim MyConString As String = "DRIVER={MySQL ODBC 3.51 Driver};" & _
                           "SERVER=localhost;" & _
                           "DATABASE=appo;" & _
                           "UID=root;" & _
                           "PASSWORD=;" & _
                           "OPTION=3;"

            'Connection
            Dim MyConnection As New OdbcConnection(MyConString)
            MyConnection.Open()

            Debug.WriteLine("Connectie Status::" & MyConnection.State.ToString)


Ik heb er een writeline bij gedaan zodat ik weet dat ie tot die regel kan komen en dan nog een rits code eronder natuurlijk.

[ Voor 29% gewijzigd door mpie op 05-03-2004 09:54 ]

Wat je wil is niet altijd wat je nodig hebt!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

Ok op deze pagina: http://www.mysql.com/prod.../manual.html#ODBC.NET(VB) helemaal onderaan staat een voorbeeldje van hoe je een connectie zou kunnen maken met .NET omgeving in combinatie met MySQL van php. Hier was ik dus benieuwd naar dus ben ik aan de slag gegaan. Ik heb alles opgevolgd van de website alles geïnstalleerd enzo.
PHP is een scriptingtaal, MySQL is een RDMS en hebben niets met elkaar te maken. En wat er daar als voorbeeldje staat, is hoe je dmv ODBC.Net een connectie maakt met een MySQL database. Dit heeft absoluut niets te maken met de PL.
Als je de code op die website zou volgen dan kan ik alles uitvoeren behalve het ophalen van gegevens.
Erhm.. Nee. Het is een voorbeeldje, wat je genoeg mogelijkheden geeft om nog fouten in te bouwen.
Dan krijg ik namelijk een lelijke error waar ik niks mee kan.
Aangezien mijn glazen bol kapot is, doe ik met je mee en kan ik er ook niets mee. Hoewel het wel leuk blijft om te gissen naar exceptions en achterliggende code, zoals ik en whoami al eerder [s]aangaf[s/] aangaven.

[ Voor 77% gewijzigd door whoami op 05-03-2004 09:56 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
MySQL van PHP ? MySQL en PHP hebben niets met elkaar te maken. Ze worden gewoon veel in combinatie met elkaar gebruikt, maar je hebt PHP voor niets van doen.

Met VB maak je geen .NET applicaties, daarvoor gebruik je VB.NET of C#.
<WebMethod()> is geen 'module', maar een attribute, waarmee je aangeeft dat een method een web-method is.

Die lelijke error zal waarschijnlijk zeggen dat er iets mis is met je SQL query, maar als je zo weinig info geeft, kunnen we je ook niet verder helpen.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Je opent dus gewoon een connectie, maar haalt verder geen gegevens op?

Als je tot aan die WriteLine komt, gaat alles tot daar goed, dus met die code zijn we ook niet veel.

[ Voor 43% gewijzigd door whoami op 05-03-2004 09:57 ]

https://fgheysels.github.io/


  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
gorgi_19 schreef op 05 maart 2004 @ 09:52:
[...]

PHP is een scriptingtaal, MySQL is een RDMS en hebben niets met elkaar te maken. En wat er daar als voorbeeldje staat, is hoe je dmv ODBC.Net een connectie maakt met een MySQL database. Dit heeft absoluut niets te maken met de PL.

[...]

Erhm.. Nee. Het is een voorbeeldje, wat je genoeg mogelijkheden geeft om nog fouten in te bouwen.

[...]

Aangezien mijn glazen bol kapot is, doe ik met je mee en kan ik er ook niets mee. Hoewel het wel leuk blijft om te gissen naar exceptions en achterliggende code, zoals ik en whoami al eerder aangaf.
Ja ik had de import voor odbc al gedaan (Imports Microsoft.data.odbc).
Zoals ik al eerder zei. Ik kan alle queries doen behalve data uitlezen.

Wat je wil is niet altijd wat je nodig hebt!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

whoami schreef op 05 maart 2004 @ 09:56:
Je opent dus gewoon een connectie, maar haalt verder geen gegevens op?
In een try-catch statement, terwijl je niet precies weet waar c.q. in welke regel de fout zit? :X

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

mpie schreef op 05 maart 2004 @ 09:57:
Ja ik had de import voor odbc al gedaan (Imports Microsoft.data.odbc).
Zoals ik al eerder zei. Ik kan alle queries doen behalve data uitlezen.
Aangezien je blijft vertikken om de exacte foutmelding te geven, kan ik alleen zeggen: Er zit een fout in je code. Succes verder, dit draait zo op niets uit met proberen te helpen.

[ Voor 9% gewijzigd door gorgi_19 op 05-03-2004 09:58 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Lees dit eens.

https://fgheysels.github.io/


  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
whoami schreef op 05 maart 2004 @ 09:56:
Je opent dus gewoon een connectie, maar haalt verder geen gegevens op?

Als je tot aan die WriteLine komt, gaat alles tot daar goed, dus met die code zijn we ook niet veel.
De connectie is goed.
mijn select query is:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
'Select              
            Debug.WriteLine("Select * FROM my_vb_net")
            MyCommand.CommandText = "SELECT * FROM my_vb_net"
            Dim MyDataReader As OdbcDataReader
            MyDataReader = MyCommand.ExecuteReader
            While MyDataReader.Read
                If MyDataReader("name") Is DBNull.Value Then
                    Debug.WriteLine("id = " & CStr(MyDataReader("id")) & "  name = " & _
                      "NULL")
                Else
                    Debug.WriteLine("id = " & CStr(MyDataReader("id")) & "  name = " & _
                                          CStr(MyDataReader("name")))
                End If
            End While


Op dit moment geeft hij geen error meer aan en heb ik even stap voor stap geprobeert te debuggen.
Hij laat dan tijdens het runnen geen teksten meer zien, maar in de output bij debug laat ie het wel zien.

Wat je wil is niet altijd wat je nodig hebt!


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Tuurlijk laat hij tijdens het runnen niets zien, wat je zegt niet dat hij dat moet doen.

Wat was het probleem dan, als je het nu blijkbaar opgelost hebt, en wat heeft dit nu met webservices te maken?

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

Laat me raden, na regel 14 wil je nog wat met deze datareader gaan doen en dan gaat hij op z'n muil?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
whoami schreef op 05 maart 2004 @ 10:05:
Tuurlijk laat hij tijdens het runnen niets zien, wat je zegt niet dat hij dat moet doen.

Wat was het probleem dan, als je het nu blijkbaar opgelost hebt, en wat heeft dit nu met webservices te maken?
Hij moet bij debug.writeline toch tekst op het beeld weergeven?
[dom mode]Lol heb geen return of zo opgegeven.

[ Voor 7% gewijzigd door mpie op 05-03-2004 10:15 ]

Wat je wil is niet altijd wat je nodig hebt!


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Nee, met debug.WriteLine geef je gewoon output terug naar de 'Debug Listeners'.
Default is dat het console-schermpje in je IDE, maar je kan ook meerdere listeners toevoegen.

https://fgheysels.github.io/


  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
whoami schreef op 05 maart 2004 @ 10:10:
Nee, met debug.WriteLine geef je gewoon output terug naar de 'Debug Listeners'.
Default is dat het console-schermpje in je IDE, maar je kan ook meerdere listeners toevoegen.
thanx ik ga er ff mee klooien.

Wat je wil is niet altijd wat je nodig hebt!


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Voor je verkeerd bezig bent:
Debug.WriteLine dient niet om output op je scherm te krijgen. Het is enkel bedoeld voor debug doeleinden. In fact, als je je applicatie in release mode built, zullen die Debug.WriteLine statements niet meegecompileerd worden.

https://fgheysels.github.io/


  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
whoami schreef op 05 maart 2004 @ 10:18:
Voor je verkeerd bezig bent:
Debug.WriteLine dient niet om output op je scherm te krijgen. Het is enkel bedoeld voor debug doeleinden. In fact, als je je applicatie in release mode built, zullen die Debug.WriteLine statements niet meegecompileerd worden.
Ja dankje ik zag het.
Ik moet het met een return meegeven. Ik krijg alleen een pagina fout code 500 zodra ik mijn return wilt toepassen pffff. Op de een of ander manier wilt hij bij MyDatareader niet pakken in de return. Als ik het weg haalt dan is de fout er niet meer, maar dan krijg ik dus geen records te zien.

Wat je wil is niet altijd wat je nodig hebt!


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Tuurlijk niet. Een datareader is niet disconnected, en kan je ook niet zomaar gebruiken.
Zolang je iets uit de datareader leest, moet die connectie open blijven, en kan ze enkel door die datareader gebruikt worden.
Daarnaast moet hetgeen je returned ook 'serializeable' zijn dacht ik.

Je kunt dus wel een DataSet vullen in je webservice, en deze returnen.

https://fgheysels.github.io/


  • mpie
  • Registratie: Maart 2001
  • Laatst online: 25-01-2016
thanx het is gelukt nu. Heb het met dataset gedaan. alleen had bij de return ook weer problemen, maar kon het oplossen met ToString.

Wat je wil is niet altijd wat je nodig hebt!


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
:?
Je returned je DataSet toch niet als een string ?

https://fgheysels.github.io/

Pagina: 1