CONEXAO COM O SQL SERVER

HORICH 01/07/2013 12:30:58
#425406
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?
KERPLUNK 01/07/2013 13:20:21
#425407
Se o banco é sql server mesmo, porque não usar o provider SQL Server ao invés de OleDB?
HORICH 01/07/2013 13:29:28
#425408
Como o Provider? Não conheço Peguei o OleDB pois estava em um site que tem tutoriais de vb.net
KERPLUNK 01/07/2013 14:50:46
#425411
Resposta escolhida
Ao invés de OleDbConnection use SqlConnection
Ao invés de OleDbCommand use SqlCommand

E assim sucessivamente.
HORICH 01/07/2013 15:04:56
#425412
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
KERPLUNK 01/07/2013 15:38:58
#425414
Você não mudou a connectionstring, continua usando a mesma connectionstring usada para o provider Ole
HORICH 01/07/2013 15:49:14
#425415
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 ?
KERPLUNK 01/07/2013 17:43:08
#425425
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.
HORICH 01/07/2013 18:00:11
#425427
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 ?
KERPLUNK 01/07/2013 18:17:17
#425429
Você precisa aprender a usar o app.config, mas atenção, leia tudo não só saia copiando código.
HORICH 02/07/2013 09:47:46
#425447
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 ?
Página 1 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas