CONEXAO COM O SQL SERVER
Bom dia ? ou Boa tarde ? rs
Estou com um problema para conectar o VB.Net (Visual Studio 2010) com uma Base de dados em SQL Server 2012
Estou utilizando a seguinte codificação
Declarei as variáveis:
Dim Banco As OleDb.OleDbConnection
Dim sConnString As String = _
[Ô]Provider=sqloledb;[Ô] & _
[Ô]Data Source=PC-Horich;[Ô] & _
[Ô]Initial Catalog=Mpan;[Ô] & _
[Ô]User Id=admin;[Ô] & _
[Ô]Password=Senha[Ô][Ô][Ô][Ô][Ô]
Ai em uma ação de Button Criei a seguinte Rotina só para testar:
Banco = New OleDb.OleDbConnection(sConnString)
Try
Banco.Open()
SQL = [Ô]insert into tb_config_avisos values (99, 9, [ô]TESTE[ô], [ô]19000101[ô], [ô]19000101[ô])[Ô]
Dim comando As New OleDb.OleDbCommand(SQL, Banco)
comando.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Erro generico[Ô])
End Try
Porem Ele da um erro assim: [Ô]O formato da sequência de inicialização não está de acordo com a especificação iniciada no Ãndice 75.[Ô] isso na linha do Banco = New OleDb.OleDbConnection(sConnString)
Ai eu troco para o Form load as linhas :
Banco = New OleDb.OleDbConnection(sConnString)
Banco.Open()
E da o erro:
[Ô]ExecuteNonQuery: propriedade Connection não foi inicializada.[Ô]
Na linha do: comando.ExecuteNonQuery()
O que poderia ser?
Estou com um problema para conectar o VB.Net (Visual Studio 2010) com uma Base de dados em SQL Server 2012
Estou utilizando a seguinte codificação
Declarei as variáveis:
Dim Banco As OleDb.OleDbConnection
Dim sConnString As String = _
[Ô]Provider=sqloledb;[Ô] & _
[Ô]Data Source=PC-Horich;[Ô] & _
[Ô]Initial Catalog=Mpan;[Ô] & _
[Ô]User Id=admin;[Ô] & _
[Ô]Password=Senha[Ô][Ô][Ô][Ô][Ô]
Ai em uma ação de Button Criei a seguinte Rotina só para testar:
Banco = New OleDb.OleDbConnection(sConnString)
Try
Banco.Open()
SQL = [Ô]insert into tb_config_avisos values (99, 9, [ô]TESTE[ô], [ô]19000101[ô], [ô]19000101[ô])[Ô]
Dim comando As New OleDb.OleDbCommand(SQL, Banco)
comando.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Erro generico[Ô])
End Try
Porem Ele da um erro assim: [Ô]O formato da sequência de inicialização não está de acordo com a especificação iniciada no Ãndice 75.[Ô] isso na linha do Banco = New OleDb.OleDbConnection(sConnString)
Ai eu troco para o Form load as linhas :
Banco = New OleDb.OleDbConnection(sConnString)
Banco.Open()
E da o erro:
[Ô]ExecuteNonQuery: propriedade Connection não foi inicializada.[Ô]
Na linha do: comando.ExecuteNonQuery()
O que poderia ser?
Se o banco é sql server mesmo, porque não usar o provider SQL Server ao invés de OleDB?
Como o Provider? Não conheço Peguei o OleDB pois estava em um site que tem tutoriais de vb.net
Ao invés de OleDbConnection use SqlConnection
Ao invés de OleDbCommand use SqlCommand
E assim sucessivamente.
Ao invés de OleDbCommand use SqlCommand
E assim sucessivamente.
Certo, eu ate consegui achar esta forma. E estruturei desta forma:
Declarei as Variáveis:
Dim oOleDbConnection As SqlClient.SqlConnection
Dim sConnString As String = _
[Ô]Provider=sqloledb;[Ô] & _
[Ô]Data Source=PC-Horich;[Ô] & _
[Ô]Initial Catalog=Mpan;[Ô] & _
[Ô]User Id=admin;[Ô] & _
[Ô]Password=[Ô][Ô][Ô][Ô][Ô]
No evento Load do Form:
oOleDbConnection = New SqlClient.SqlConnection(sConnString)
oOleDbConnection.Open()
E no evento Click do botal para executar a query:
Try
SQL = [Ô]insert into tb_config_avisos values (99, 9, [ô]TESTE[ô], [ô]19000101[ô], [ô]19000101[ô])[Ô]
Dim comando2 As New SqlClient.SqlCommand(SQL, oOleDbConnection)
comando2.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Erro generico[Ô])
End Try
Ai ele gerou o seguinte erro:
[Ô]ExecuteNonQuery: propriedade Connection não foi inicializada.[Ô]
Porem eu Conectei no banco no Load do form =s
Declarei as Variáveis:
Dim oOleDbConnection As SqlClient.SqlConnection
Dim sConnString As String = _
[Ô]Provider=sqloledb;[Ô] & _
[Ô]Data Source=PC-Horich;[Ô] & _
[Ô]Initial Catalog=Mpan;[Ô] & _
[Ô]User Id=admin;[Ô] & _
[Ô]Password=[Ô][Ô][Ô][Ô][Ô]
No evento Load do Form:
oOleDbConnection = New SqlClient.SqlConnection(sConnString)
oOleDbConnection.Open()
E no evento Click do botal para executar a query:
Try
SQL = [Ô]insert into tb_config_avisos values (99, 9, [ô]TESTE[ô], [ô]19000101[ô], [ô]19000101[ô])[Ô]
Dim comando2 As New SqlClient.SqlCommand(SQL, oOleDbConnection)
comando2.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message, [Ô]Erro generico[Ô])
End Try
Ai ele gerou o seguinte erro:
[Ô]ExecuteNonQuery: propriedade Connection não foi inicializada.[Ô]
Porem eu Conectei no banco no Load do form =s
Você não mudou a connectionstring, continua usando a mesma connectionstring usada para o provider Ole
Certo erro meu =/
Mais assim a unica ConString que eu achei para o tipo de conexão foi
[Ô]Data Source=(local);Integrated Security=yes;[Ô]
Porem eu tenho um banco que tem senha se eu adicionar a senha a essa ConString ficaria assim:
[Ô]Data Source=(local);Integrated Security=yes;User ID=sa;Password=q1w2e3r4@;[Ô]
Ai eu teria que mandar ela utilizar um banco especifico certo?
assim mais ou menos:
SQL = [Ô]use Mpan[Ô]
Dim comando As New SqlClient.SqlCommand(SQL, oSQLConn)
comando.ExecuteNonQuery()
Isso na minha maquina onde esta instalado o SQL Server roda normal, só que quando eu coloco o .EXE em uma estação ela da pal =s esse método só funciona local onde o banco esta instalado ?
Mais assim a unica ConString que eu achei para o tipo de conexão foi
[Ô]Data Source=(local);Integrated Security=yes;[Ô]
Porem eu tenho um banco que tem senha se eu adicionar a senha a essa ConString ficaria assim:
[Ô]Data Source=(local);Integrated Security=yes;User ID=sa;Password=q1w2e3r4@;[Ô]
Ai eu teria que mandar ela utilizar um banco especifico certo?
assim mais ou menos:
SQL = [Ô]use Mpan[Ô]
Dim comando As New SqlClient.SqlCommand(SQL, oSQLConn)
comando.ExecuteNonQuery()
Isso na minha maquina onde esta instalado o SQL Server roda normal, só que quando eu coloco o .EXE em uma estação ela da pal =s esse método só funciona local onde o banco esta instalado ?
A connectionstring, contém todos os dados necessários para acessar o servidor de dados, incluindo endereço, usuário/senha e tudo o mais. Se você deixar a string no código como está fazendo, vai sempre ter o erro. Você deve colocar ao menos o endereço do servidor onde está seu banco de dados em algum local para buscar dinamicamente, o arquivo app.config, por exemplo.
Citação::
A connectionstring, contém todos os dados necessários para acessar o servidor de dados, incluindo endereço, usuário/senha e tudo o mais. Se você deixar a string no código como está fazendo, vai sempre ter o erro. Você deve colocar ao menos o endereço do servidor onde está seu banco de dados em algum local para buscar dinamicamente, o arquivo app.config, por exemplo.
Desculpa ser chato e parecer preguiço é que eu fui de novo procurar como fazer para ele procurar dinamicamente as configurações e não achei nada =s
Se eu não passar nenhuma ConnectionString ele procura sozinho as configurações ?
Você precisa aprender a usar o app.config, mas atenção, leia tudo não só saia copiando código.
Citação::
Você precisa aprender a usar o app.config, mas atenção, leia tudo não só saia copiando código.
Não conhecia pelo nome de app.config desculpa, utilizo um arquivo .ini no meu sistema em VB6 só que a string de conexão é diferente fui dar uma olhada achei outro tipo de string que funcionou na minha maquina local, porem quando coloco o .exe no servidor que esta em um domÃnio ele da erro de logon do usuário
A string Ficou assim:
oSQLConn.ConnectionString = [Ô]Data Source=(local);[Ô] & _
[Ô]Initial Catalog=Mpan;[Ô] & _
[Ô]Integrated Security=SSPI[Ô]
oSQLConn.Open()
Estou ficando um pouco mais confuso com relação ao tipo de conexão por que no VB6 eu uso o ODBC porem queria evitar de ter que voltar a utilizar ela, já que você me mostrou esta forma achei bem mais pratica, porem essa forma é aplicável a redes com domÃnio ?
Tópico encerrado , respostas não são mais permitidas