BANCO SQL SERVER SE PERDE APOS CONSULTA
galera, comecei a estudar c# e já de cara apareceu um belo problema.
criei o banco no sql server 2008, tudo certinho bacana.
fiz testes de conexao com vb6 e funcionou 100%
parti para c#
usei o seguinte codigo abaixo para [Ô]brincar[Ô]
o código acima funciona, porém ao tentar novamente da erro, entro no banco para ver a tabela e vem a surpresa, não tenho mais acesso a este banco de dados (acabo tendo que criar o banco novamente), as vezes ele aparece como (suspeito) e outras vezes apenas não libera o [Ô]+[Ô] para expandir.
alguma idéia?
criei o banco no sql server 2008, tudo certinho bacana.
fiz testes de conexao com vb6 e funcionou 100%
parti para c#
usei o seguinte codigo abaixo para [Ô]brincar[Ô]
string conexao = [Ô]Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\BANCO\\TESTE.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True[Ô];
SqlConnection conn = new SqlConnection(conexao);
SqlCommand comando = new SqlCommand([Ô]Select COUNT(*) from USUARIO_SISTEMA where usuario = @user and SENHA = @SENHA[Ô], conn);
comando.Parameters.Add([Ô]@user[Ô], SqlDbType.VarChar).Value = textBox1.Text;
comando.Parameters.Add([Ô]@senha[Ô], SqlDbType.VarChar).Value = textBox2.Text;
conn.Open();
int i = (int)comando.ExecuteScalar();
if(i>0)
{
MessageBox.Show([Ô]login e senha encontrados[Ô]);
}
else
{
MessageBox.Show([Ô]usuario ou senha incorreto![Ô]);
}
conn.Close();
o código acima funciona, porém ao tentar novamente da erro, entro no banco para ver a tabela e vem a surpresa, não tenho mais acesso a este banco de dados (acabo tendo que criar o banco novamente), as vezes ele aparece como (suspeito) e outras vezes apenas não libera o [Ô]+[Ô] para expandir.
alguma idéia?
Não use o AttachDbFilename e User Instance para conectar, o ideal é você usar o Management Studio para criar o banco de dados diretamente no SQL Server e então se conectar nele
Citação::
Não use o AttachDbFilename e User Instance para conectar, o ideal é você usar o Management Studio para criar o banco de dados diretamente no SQL Server e então se conectar nele
entao, estou usando o Management Studio para criar o banco.
como seria esse Instance para conectar?
entao OCELOT, mudei assim
funcionou e não deu mais problemas!
quero deixar aberto para que alguém possa explicar ou ter uma teoria do por quê se conectar desta forma:
acontece o erro no banco de dados.
string conexao = @[Ô]Data Source=.\SQLEXPRESS;Initial Catalog = TESTE; Integrated Security = SSPI;[Ô];
funcionou e não deu mais problemas!
quero deixar aberto para que alguém possa explicar ou ter uma teoria do por quê se conectar desta forma:
string conexao = [Ô]Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\BANCO\\TESTE.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True[Ô];
acontece o erro no banco de dados.
é o seguinte, quando você cria o banco de dados pelo Management Studio ele já é anexado ao SQL Server automaticamente.
Quando você se conecta usando o AttachDbFilename o que acontece é que o SQL Server vai anexar o arquivo informado temporariamente em uma nova instancia do usuário do SQL Express, então quando você abre o Management Studio e tenta ver o arquivo que você conectou pelo AttachDbFilename é como se dois servidores do SQL Server tentassem acessar o mesmo arquivo de banco de dados ao mesmo tempo, então provavelmente o segundo que tenta acessar não consegue pois o arquivo já está em uso.
Essa opção do AttachDbFilename serve apenas para quando o arquivo mdf não está anexado no SQL Server, funciona apenas com o SQL Express e apenas para conexões locais, é algo mais para tentar facilitar o desenvolvimento que na minha opinião mais atrapalha do que ajuda.
Quando você se conecta usando o AttachDbFilename o que acontece é que o SQL Server vai anexar o arquivo informado temporariamente em uma nova instancia do usuário do SQL Express, então quando você abre o Management Studio e tenta ver o arquivo que você conectou pelo AttachDbFilename é como se dois servidores do SQL Server tentassem acessar o mesmo arquivo de banco de dados ao mesmo tempo, então provavelmente o segundo que tenta acessar não consegue pois o arquivo já está em uso.
Essa opção do AttachDbFilename serve apenas para quando o arquivo mdf não está anexado no SQL Server, funciona apenas com o SQL Express e apenas para conexões locais, é algo mais para tentar facilitar o desenvolvimento que na minha opinião mais atrapalha do que ajuda.
tem esse site cara dê uma olhada , http://www.connectionstrings.com/
tem conexao ate para servidores remotos e locais, vale a pena conferir e esta faltando o datareader para verificar a tabela no banco
dê uma olhada na net ou aq no forum que tem codigo pronto para logins abç...
tem conexao ate para servidores remotos e locais, vale a pena conferir e esta faltando o datareader para verificar a tabela no banco
dê uma olhada na net ou aq no forum que tem codigo pronto para logins abç...
Faça seu login para responder