PROBLEMAS COM CONEXAO MYSQL
Bom dia, estou desenvolvendo uma aplicação em tres camadas para estudos e ao mesmo tempo iniciando no uso do MySQL, estou colocando a string de conexao num arquivo config deste modo:
<connectionStrings>
<add name =[Ô]ConexaoDisciplina[Ô] connectionString =[Ô]Server=\\168.14.184.250; Database=Disciplina; Uid=Usuario; Pwd=Senha;[Ô] providerName=[Ô]mysql.Data.mySqlClient;[Ô]/>
</connectionStrings>
Estou usando esta funcao para conectar:
Public Shared Function GetConnectionString(ByVal strConnection As String) As String
Dim retorno As String
retorno = ([Ô][Ô])
If Not String.IsNullOrEmpty(strConnection) Then
Try
retorno = ConfigurationManager.ConnectionStrings([Ô]ConexaoDisciplina[Ô]).ConnectionString
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
retorno = ConfigurationManager.ConnectionStrings([Ô]ConexaoDisciplina[Ô]).ConnectionString
End If
Return retorno
End Function
a linha em negrito é onde dá o erro: Object reference not set to an instance of an object>
Não sei se o problema esta na string de conexão ou na funcao de conexão.
Se puderem me ajudar!?!?!?
<connectionStrings>
<add name =[Ô]ConexaoDisciplina[Ô] connectionString =[Ô]Server=\\168.14.184.250; Database=Disciplina; Uid=Usuario; Pwd=Senha;[Ô] providerName=[Ô]mysql.Data.mySqlClient;[Ô]/>
</connectionStrings>
Estou usando esta funcao para conectar:
Public Shared Function GetConnectionString(ByVal strConnection As String) As String
Dim retorno As String
retorno = ([Ô][Ô])
If Not String.IsNullOrEmpty(strConnection) Then
Try
retorno = ConfigurationManager.ConnectionStrings([Ô]ConexaoDisciplina[Ô]).ConnectionString
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
retorno = ConfigurationManager.ConnectionStrings([Ô]ConexaoDisciplina[Ô]).ConnectionString
End If
Return retorno
End Function
a linha em negrito é onde dá o erro: Object reference not set to an instance of an object>
Não sei se o problema esta na string de conexão ou na funcao de conexão.
Se puderem me ajudar!?!?!?
vc declarou a variavel retorno em qual local ?
talvez o problema esteja nisto.
talvez o problema esteja nisto.
Foi declarado dentro da funcao:
dim retorno as string
retorno = [Ô][Ô]
agora que fui reparar que a variavel retorno está com valor =[Ô][Ô]
dim retorno as string
retorno = [Ô][Ô]
agora que fui reparar que a variavel retorno está com valor =[Ô][Ô]
Apesar da simplicidade, eu uso este a classe de conexão, da seguinte forma, confirme se for a mesma lógica:
Imports System.Data.SqlClient
Imports System.Windows.Forms
Public Class cldBancoDados
Dim StringConexao As String = [Ô]Server=Servidor;Database=\\168.14.184.250;user id=usuario;pwd=senha[Ô]
Private Function AbreBanco() As SqlConnection
Dim Conn As New SqlConnection
With Conn
.ConnectionString = StringConexao
.Open()
End With
Return Conn
End Function
Private Sub FechaBanco(ByVal Conn As SqlConnection)
If Conn.State = ConnectionState.Open Then
Conn.Close()
End If
End Sub
Public Sub ExecutaComando(ByVal strQuery As String)
Dim Conn As New SqlConnection
Try
Conn = AbreBanco()
Dim cmdComando As New SqlCommand
With cmdComando
.CommandText = strQuery
.CommandType = CommandType.Text
.Connection = Conn
.ExecuteNonQuery()
End With
Catch ex As Exception
Throw ex
Finally
End Try
End Sub
Public Function RetornaDataSet(ByVal strQuery As String) As DataSet
Dim Conn As New SqlConnection
Try
Conn = AbreBanco()
Dim cmdComando As New SqlCommand
With cmdComando
.CommandText = strQuery
.CommandType = CommandType.Text
.Connection = Conn
End With
Dim daAdaptador As New SqlDataAdapter
Dim dsDataSet As New DataSet
daAdaptador.SelectCommand = cmdComando
daAdaptador.Fill(dsDataSet)
Return dsDataSet
Catch ex As Exception
Throw New Exception([Ô]Erro na camada 3:[Ô] & ex.Message)
Finally
FechaBanco(Conn)
End Try
End Function
Public Function RetornaDataReader(ByVal strQuery As String) As SqlDataReader
Dim Conn As New SqlConnection
Try
Conn = AbreBanco()
Dim cmdComando As New SqlCommand
With cmdComando
.CommandText = strQuery
.CommandType = CommandType.Text
.Connection = Conn
End With
Return cmdComando.ExecuteReader
Catch ex As Exception
Throw ex
End Try
End Function
End Class
Eu já deixei o seu numero do servidor, para facilitar para vc entender, tente comparar este script com o q vc tem... Este funciona perfeitamente nos projetos q desenvolvo, espero ter ajudado... Se persistir a duvida, pode chamar, se quiser, eu posso te mandar também uma apostila q me ajudou a entender este script...
Imports System.Data.SqlClient
Imports System.Windows.Forms
Public Class cldBancoDados
Dim StringConexao As String = [Ô]Server=Servidor;Database=\\168.14.184.250;user id=usuario;pwd=senha[Ô]
Private Function AbreBanco() As SqlConnection
Dim Conn As New SqlConnection
With Conn
.ConnectionString = StringConexao
.Open()
End With
Return Conn
End Function
Private Sub FechaBanco(ByVal Conn As SqlConnection)
If Conn.State = ConnectionState.Open Then
Conn.Close()
End If
End Sub
Public Sub ExecutaComando(ByVal strQuery As String)
Dim Conn As New SqlConnection
Try
Conn = AbreBanco()
Dim cmdComando As New SqlCommand
With cmdComando
.CommandText = strQuery
.CommandType = CommandType.Text
.Connection = Conn
.ExecuteNonQuery()
End With
Catch ex As Exception
Throw ex
Finally
End Try
End Sub
Public Function RetornaDataSet(ByVal strQuery As String) As DataSet
Dim Conn As New SqlConnection
Try
Conn = AbreBanco()
Dim cmdComando As New SqlCommand
With cmdComando
.CommandText = strQuery
.CommandType = CommandType.Text
.Connection = Conn
End With
Dim daAdaptador As New SqlDataAdapter
Dim dsDataSet As New DataSet
daAdaptador.SelectCommand = cmdComando
daAdaptador.Fill(dsDataSet)
Return dsDataSet
Catch ex As Exception
Throw New Exception([Ô]Erro na camada 3:[Ô] & ex.Message)
Finally
FechaBanco(Conn)
End Try
End Function
Public Function RetornaDataReader(ByVal strQuery As String) As SqlDataReader
Dim Conn As New SqlConnection
Try
Conn = AbreBanco()
Dim cmdComando As New SqlCommand
With cmdComando
.CommandText = strQuery
.CommandType = CommandType.Text
.Connection = Conn
End With
Return cmdComando.ExecuteReader
Catch ex As Exception
Throw ex
End Try
End Function
End Class
Eu já deixei o seu numero do servidor, para facilitar para vc entender, tente comparar este script com o q vc tem... Este funciona perfeitamente nos projetos q desenvolvo, espero ter ajudado... Se persistir a duvida, pode chamar, se quiser, eu posso te mandar também uma apostila q me ajudou a entender este script...
Vou testar esse código posto a resposta, por enquanto, obrigado
Mouser, sua linha de conexao está errada:
Dim StringConexao As String = [Ô]Server=Servidor;Database=\\168.14.184.250;user id=usuario;pwd=senha[Ô]
o correto é:
Dim StringConexao As String = [Ô]Server=168.14.184.250;Database=NomeBD;user id=usuario;pwd=senha[Ô]
até ai, blz, mas gostaria de poder obter a conexao direto do app.config, por isso volto aqui novamente.
Dim StringConexao As String = [Ô]Server=Servidor;Database=\\168.14.184.250;user id=usuario;pwd=senha[Ô]
o correto é:
Dim StringConexao As String = [Ô]Server=168.14.184.250;Database=NomeBD;user id=usuario;pwd=senha[Ô]
até ai, blz, mas gostaria de poder obter a conexao direto do app.config, por isso volto aqui novamente.
DAMASCENO.CESAR,
Achei problemas parecidos e nada de solução.
http://www.dreamincode.net/forums/topic/277907-retrieving-connection-string-from-appconfig/
http://microsoft.public.br.dotnet.languages.vb.narkive.com/kdUVlCcB/migrando-o-app-config
Montei o que estava aqui e não funcionou...
http://www.universalthread.com/ViewPageArticle.aspx?ID=211
Rodei o programa anexado na última mensagem e funcionou!
http://www.vbmania.com.br/pages/?varModulo=Forum&varMethod=abrir&varID=429005
Mas não consegui simular no seu código...
... meu, tem alguma manha escondida no código ou na configuração.
Eu rodo na minha máquina e simplismente não lê o que tem dentro do [Ô]<connectionStrings>[Ô]. Somente retorna algo que está na configuração do projeto...
[][ô]s,
Tunusat.
Achei problemas parecidos e nada de solução.
http://www.dreamincode.net/forums/topic/277907-retrieving-connection-string-from-appconfig/
http://microsoft.public.br.dotnet.languages.vb.narkive.com/kdUVlCcB/migrando-o-app-config
Montei o que estava aqui e não funcionou...
http://www.universalthread.com/ViewPageArticle.aspx?ID=211
Rodei o programa anexado na última mensagem e funcionou!
http://www.vbmania.com.br/pages/?varModulo=Forum&varMethod=abrir&varID=429005
Mas não consegui simular no seu código...
... meu, tem alguma manha escondida no código ou na configuração.
Eu rodo na minha máquina e simplismente não lê o que tem dentro do [Ô]<connectionStrings>[Ô]. Somente retorna algo que está na configuração do projeto...
[][ô]s,
Tunusat.
Pessoal, seguinte, desisti de usar o app. config, vou criar um arquivo ini e nele colocar a conexão ou então deixar no proprio código, devido aos problemas quanto à possivel alteração do config, mesmo assim, obrigado.
Tópico encerrado , respostas não são mais permitidas