Question : MYSQL Webservice Vb.net

Hi, I have a problem with my code, have tried to figure out the solution for a while. But nothing has helped.
Sometimes the code works and sometimes not.

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at MySql.Data.MySqlClient.MySqlPacket.ReadString()
   at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
   at MySql.Data.MySqlClient.NativeDriver.Open()
   at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
   at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
   at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
   at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
   at MySql.Data.MySqlClient.MySqlPool.GetConnection()
   at MySql.Data.MySqlClient.MySqlConnection.Open()
   at WebService2.Service1.GetJob(Int32 Computer) in C:\Users\Krister Johansson\Documents\Visual Studio 10\Projects\WebService2\WebService2\Service1.asmx.vb:line 172
   --- End of inner exception stack trace ---
Code Snippet:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
--- My program code to get information ---
Dim service As New VV.Service1
Dim image() As VV.Image
 
image = service.GetJob(1)
 
 
--- Error in my program ---
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at MySql.Data.MySqlClient.MySqlPacket.ReadString()
   at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
   at MySql.Data.MySqlClient.NativeDriver.Open()
   at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
   at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
   at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
   at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
   at MySql.Data.MySqlClient.MySqlPool.GetConnection()
   at MySql.Data.MySqlClient.MySqlConnection.Open()
   at WebService2.Service1.GetJob(Int32 Computer) in C:\Users\Krister Johansson\Documents\Visual Studio 10\Projects\WebService2\WebService2\Service1.asmx.vb:line 172
   --- End of inner exception stack trace ---
 
--- Webservice ---
 
 
        Public Function GetJob(ByVal Computer As Integer) As List(Of Image)
        Dim ListImage As New List(Of Image)()
        Dim objRS As MySqlDataReader
        Dim iId As Integer
        Dim Selection As String
        Dim sel As Image
 
LINE 172 --->  objConn.Open()
        command.CommandText = "SELECT * FROM `tb_img` WHERE `upload` IS NOT NULL AND `computer` IS NULL AND `done` IS NULL LIMIT 1"
        objRS = command.ExecuteReader
 
        While objRS.Read
            iId = objRS("id")
            Selection = objRS("selection")
        End While
        If objRS.HasRows Then
            objConn.Close()
            Dim fs As FileStream = Nothing
            fs = New FileStream("C:\FixImage\" & iId & ".jpg", FileMode.Open)
            Dim fi As FileInfo = New FileInfo("C:\FixImage\" & iId & ".jpg")
            Dim temp As Long = fi.Length
 
            Dim lung As Integer = Convert.ToInt32(temp)
            Dim picture As Byte() = New Byte(lung - 1) {}
            fs.Read(picture, 0, lung)
            fs.Close()
 
 
            sel = New Image With {.Id = iId, .Image = picture, .Selections = Selection}
            ListImage.Add(sel)
            System.IO.File.Delete("C:\FixImage\" & iId & ".jpg")
 
            If objConn.State = ConnectionState.Open Then
                objConn.Close()
            End If
            objConn.Open()
            command.CommandText = "UPDATE `voltatravolta`.`tb_img` SET `computer` = '" & Computer & "' WHERE `tb_img`.`id` =" & iId & " LIMIT 1"
            command.ExecuteNonQuery()
            objConn.Close()
            Return ListImage
        Else
            Return Nothing
        End If
 
        Return Nothing
    End Function

Answer : MYSQL Webservice Vb.net

It looks like you are trying to define a class-level connection object, but unless you turn on session, web method calls are stateless, so any instances will be discarded after the call.
Random Solutions  
 
programming4us programming4us