SISTEMA LENTO

MRPESTOQUE 03/12/2013 16:50:46
#431719
OLÁ

estou desenvolvendo um sistema para controle de estoque e produção no vb.net com banco de dados access, só que o sistema esta ficando lento já compactei o banco de dados e nada, utilizo 10 usuários na rede acessando o banco com cerca de 20 tabelas e 15 consultas

alguém tem alguma ideia de como melhorar meu sistema

obrigado
OCELOT 03/12/2013 17:07:03
#431720
Primeira coisa a se fazer seria trocar o banco de dados, access funciona em rede, mas isso não quer dizer que ele seja bom em fazer isso, já que quanto mais ele crescer mais o PC remoto tem para ler, já que no access cada computador que acessa o banco de dados na verdade lê o arquivo diretamente, então se é pela rede isso pode deixar o processo bem lento.

Se você usar um SGDB já não acontece isso, já que o computador remoto apenas pede os dados, o servidor lê o banco de dados e envia apenas os dados necessários pela rede.

E ai entra outro ponto importante, os dados passados pela rede. A rede é um recurso limitado que é dividido entre todos que acessam ela, se você estiver abrindo tabelas e carregando todos os dados dela pela rede, quanto mais o banco cresce mais dados precisam passar pela rede, então o ideal é sempre limitar ao máximo a quantidade de dados, filtrando sempre apenas o que é necessário.
MRPESTOQUE 04/12/2013 09:04:13
#431730
Na opção de trocar de banco de dados qual seria o mais indicado para o meu caso?
FUTURA 04/12/2013 09:24:52
#431733
usa sql server , mesmo as versões express ( 2008 e 2012), são excelentes...muito robustas e seguras..se vc programa em ADO ja é meio caminho andando, mas como disse o amigo acima, nunca abra a tabela [Ô]rs.open[Ô]minhatabela[Ô][Ô]...abra consultas com critérios de filtros, e use a conexão para inserts, updates, deletes, etc...
PERCIFILHO 04/12/2013 10:37:28
#431739
Sem dúvida nenhuma: SQL SERVER como o Futura disse.
MRPESTOQUE 10/12/2013 10:23:42
#431954
fiz como vcs me orientaram, busquei exemplos e instalei o sql server 2008, já fiz conexão, inclui, editei etc

só que agora eu preciso fazer a mesma coisa no servidor

uso o seguinte código para conexão:

Dim DBConn As SqlConnection
Dim dbCommand As SqlCommand

DBConn = New SqlConnection([Ô]Data Source=.\SQLEXPRESS;AttachDbFilename=C:\mrp\BD-MRP.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True[Ô])
DBConn.Open()

como posso fazer no meu servidor que tem o nome de [Ô]SERVERMRP[Ô]

aguem tem algum tutorial?


OCELOT 10/12/2013 10:33:26
#431957
Nunca se usa AttachDbFilename e o User Instance.

Isso dai é basicamente para testes, funciona apenas para a versão express e é apenas para uso local, não serve para rede, em um servidor você vai criar o banco de dados pelo Managemente Studio e se conectar nele.

Você provavelmente vai ter que colocar a autenticação do SQL Server em Mixed Mode se ele já não estiver e vai criar usuários dentro do SQL Server para poder acessar na rede, já que provavelmente não vai ter um controlador de domínio para usar a autenticação integrada. Você pode também ter que ativar o protocolo TCP IP dele que por padrão pode vir desativado.

Feito isso você vai usar uma connection string no formato

Server=NomeDoPC;Database=NomeDoBancoDeDados;User Id=NomeDoUsuario;Password=Senha;

Com o detalhe de que se é a versão express por padrão ele cria uma instancia nomeada, então no Server fica algo do tipo

Server=NomeDoPC\SQLEXPRESS

E se não me engano caso prefira no lugar do NomeDoPC pode ser usado o endereço IP da máquina
MRPESTOQUE 12/12/2013 10:13:24
#432014
minha string ficou assim

conn = New SqlConnection([Ô]Data Source=SERVERMRP\SQLEXPRESS;Database=DB-MRP; User Id=Admin; Password=administrador01;[Ô])

mas não deu certo

no sql management studio consigo conectar o banco de dados do servidor com nome e com ip

os firewall estão desativados

o tc/ip esta habilitado porta 1433

oque pode ser?
OCELOT 12/12/2013 10:34:23
#432016
Tem que ver o erro que está acontecendo na hora que tenta abrir a conexão, a exception deve ter informações sobre o que aconteceu para não conseguir conectar
MRPESTOQUE 12/12/2013 11:01:41
#432017
mudei um pouco a string

ficou assim

conn = New SqlConnection([Ô]Data Source=192.168.0.43;Initial Catalog=DB-MRP;Integrated Security=false;User ID=Admin;Password=administrador01;User Instance=False[Ô])

o erro é o seguinte

cannot opem database[Ô]DB-MRP[Ô] resquested by the login. the login failed.login failed for use Admin
OCELOT 12/12/2013 11:28:06
#432019
Bom o erro diz tudo, você já tentou logar pelo Management Studio usando este usuário e senha?

Se o login e senha estiverem corretos tem então que ver se o usuário tem permissão de acessar este banco de dados
Faça seu login para responder