Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rildo L P da silva

Erro ao Conectar no Banco SQL Express

Recommended Posts

Criei uma aplicação no VS2008 com o VB e criei um Banco usando o SQL Express , porem durante a criação até o termino da aplicação o programa rodou certinho o acesso a banco estava certinho , porem agora preciso colocar esse aplicativo na Rede ( Em um Servidor de Arquivos , para que algumas estações acessem o mesmo .EXE e o mesmo .MDF ) porem quando copio a aplicação para um diretório na rede ( G: ) ele não permite que eu abra o banco quando eu executo a aplicação ele gera o seguinte erro:

 

An attempt to attach an auto named database for file

G:\DT\Sequencia\App_dados\Sequencia.mdf failed.

A database with the same name exists, or specified file cannot be opened,

or it is located on UNC share

 

Porem quando eu instalo o sql express e o .net framework em uma das estações que vou rodar a aplicação , quando copio local ele roda certinho agora quando eu copio para o diretório da Rede (G:) e tento executar apartir desta rede ele gera este erro acima .

 

Este servidor de arquivos tem instalado o linux red hat e compartilhamos com samba para as demais estações usando o Windows

 

Será que alguem poderia me ajudar preciso entregar essa aplicação ainda esta semana e não sei como resolver

 

grato

Rildo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Visto que o arquivo está sendo aberto por várias pessoas na rede, o programa trava o mbf para escriva quando alguém abre o arquivo (seja pelo programa ou não).

 

Procure instalar um banco de dados SQL Express em um servidor e faça referência a instância do banco de dados

 

Att

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok mas não estou usando SQL Server e sim o SQL Express, porem eu quero colocar minha aplicação junto com o arquivo do banco.mdf na rede em um Servidor de Arquivos (na verdade uma unidade mapeada G:) que serve somente hospedar arquivos do escritorio, este servidor esta instalado com Linux Red Hat, e as estações com Windows.

 

Tem como instalar o Sql express neste servidor rodando o Linux Red Hat ?? Como ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rildo, pelo que li na net esse erro ocorre pq o usuário ASP.NET não tem permissão pra acessar a pasta onde o BD está.

Na estação onde vai rodar seu programa você tera q ter instalado a copia do SQL Express e dar permissão a esse usuario em seu banco de dados.

 

Pior que como você falou q o arquivo ta em um server linux não sei te dizer se vai dar certo pra funcionar esse programa seu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Rildo, acredito que a solução para seu problema será a instalação de um servidor com plataforma windows para instalação do SQL Server Express, pois quando você compartilhar o arquivo mdf na rede, o arquivo será bloqueado pelo primeiro usuário que estiver conectado ao banco de dados.

 

Seu servidor é virtualizado?

 

 

Atenciosamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Jader pela atenção . . .

 

Ok Vou ver se consigo arrumar uma maquina para colocar com Windows e instalar o SQL Express, porem tenho algumas duvidas

 

Eu vou ter que colocar meu programa junto com o Banco.MDF neste servidor (Windows) que ira ficar com o SQL Expres ?

Em vez de colocar somente minha aplicação no servidor do Banco (SQL) eu poderia colocar minha aplicação no servidor de arquivos Linux e direcionar o acesso ao banco para o servidor Windows que vai ter SQL, ou seja , deixar o programa e o arquivo.mdf(banco) separados ?

 

Como eu conseguiria fazer isso ?

 

O que você acha ?

 

Bem se eu puder colocar no Servidor de Arquivos , como eu teria que fazer com a minha string de conexão ? eu teria que mudar ?

 

E Nas estações eu terei que instalar o SQL Express completo ? você teria o link caso precise de algum client , existe algum client no SQL Express ?

 

 

Mais uma vez Obrigado pela atenção

 

Rildo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Rildo,

 

Para solucionar seu problema, será necessário fazer a instalação de um servidor windows (com sistema operacional windows 2003 ou 2008 server), após isso você deverá instalar o SGBD (SQL Server Express) e então criar seu banco de dados.

 

No software você deverã modificar a connection string(http://www.connectionstrings.com/), indicando o servidor (IP/ ou nome do servidor) na rede para que os clientes possam encontrar o banco de dados.

 

O bom é você manter o software em cada máquina, com uma configuração que indique o endereço do banco de dados, assim você não tem o problema de utilizar o software via rede, o que irá ocasionar o travamento do arquivo e trafego excessivo na

rede.

 

Obs.: Não será necessário instalar o SQL Express nos micros (clientes).

 

Atenciosamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok Meu amigo , Obrigado pela explicação

 

Fiz tudo isso instalei o SQL Express no 2003 habilitei o acesso TCP/IP com a porta 1433 e consegui conectar porem quando vou atualizar o meu banco aparece como somente leitura

saberia me dizer onde posso corrigir isso

 

minha string ficou assim : Return "Data Source=192.168.0.224,1433;Network Library=DBMSSOCN;AttachDbFilename=D:\BancoSeque\App_Dados\Sequencia_SP.mdf;User ID=sa;Password=123456;"

 

 

obrigado pela atenção e paciencia

 

Rildo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.