PRECISO MIGRAR DE BANCO DE DADOS URGENTE
Trabalho com DAO e ACCESS 97
Recentemente vendi meu sistema para um mini-supermercado onde possui 2 terminais.
Estou com minha cabeça doendo de tanta reclamação por causa da lerdeza...
Sabe o que é passar um pente fino no sistema, pois eu deixei ele exurto.... tudo que podia comprometer a performance do sistema eu fiz... em relação a DAO e ACCESS 97 trabalho com grande quantidade de dados eu desistir
então quiz mudar para SQL Server Express 2005, mas não fui nem para frente e nem para traz... não conseguir nem converter o banco de dados:
Olha o ultimo topico que coloquei sobre e está em aberto até hoje:
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=358856
Queria que alguem me ajudasse, pois a dona do supermercado me liga as 7hs da manha e eu tô de cabeça conte com isso:
Preciso mudar para uma base de dados que seja rapida e que aceite converter banco de dados access para ela.... pois preciso dos dados e da estrututa das tabelas... e o mais importante que seja facil, pois nunca mexi em nada que não fosse access
Alguem pode me ensinar os caminhos das pedras?
Obrigado!
Eu pessoalmente prefiro o Mysql
Mas uma duvida, eu tenho o sistema em varios mercados em access e nunca tive problema.
http://www.microsoft.com/Sqlserver/2005/en/us/migration-access.aspx
Acess to Mysql -[txt-color=#0000f0] http://www.bullzip.com/download.php[/txt-color] - Com dicas no [txt-color=#0000f0]http://www.macoratti.net/net_msql.htm[/txt-color]
Boa sorte.
ah, vc pode trabalhar com o mysql conectado, ou seja conecta ao iniciar o programa e desconecta a encerrar, isso já melhora muita coisa a conexão.
http://www.mysql.com/downloads/mysql/
qual que eu baixo?
Uso WinXP 32bits
Citação::
Resumo de minha historia:
Trabalho com DAO e ACCESS 97
Recentemente vendi meu sistema para um mini-supermercado onde possui 2 terminais.
Estou com minha cabeça doendo de tanta reclamação por causa da lerdeza...
Sabe o que é passar um pente fino no sistema, pois eu deixei ele exurto.... tudo que podia comprometer a performance do sistema eu fiz... em relação a DAO e ACCESS 97 trabalho com grande quantidade de dados eu desistir
então quiz mudar para SQL Server Express 2005, mas não fui nem para frente e nem para traz... não conseguir nem converter o banco de dados:
Olha o ultimo topico que coloquei sobre e está em aberto até hoje:
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=358856
Queria que alguem me ajudasse, pois a dona do supermercado me liga as 7hs da manha e eu tô de cabeça conte com isso:
Preciso mudar para uma base de dados que seja rapida e que aceite converter banco de dados access para ela.... pois preciso dos dados e da estrututa das tabelas... e o mais importante que seja facil, pois nunca mexi em nada que não fosse access
Alguem pode me ensinar os caminhos das pedras?
Obrigado!
Mas fica lento só com dois terminais?
Não adianta trocar de banco de dados e ficar a mesma coisa.
Já tentou verificar o motivo da lentidão?
um é o servidor e o outro e terminal, mas ambos trabalha como terminal... só que o onde tá o banco de dados é bem mais rapido...
os 2 ficam aberto um tela de pdv... ai quando passa no leitor de codigo de barra no produto ele vai no banco de dados para ver se o produto existe, depois se tem no estoque e depois traz os dados dele e insere ele numa outra tabela (PEDIDO_ITENS) e depois preenche um flexgrid onde exibi todos os produtos daquela venda.
Todos esses processos de consulta, inserção, preenchimento e fechamento da venda sao lentos....
somente no terminal onde não tem o banco de dados
já troquei cabo
já troquei o hub para swicth
já coloquei placa de rede offboard
já limpei os 2 pcs e deixei só o windows e meu sistema instalado e nada mais
já olhei cada letra das inumeras linhas de código de meu sistema
mesmo assim no terminal onde não tá a base de dados é mais lento mesmo.
acesso a base de dados assim:
[txt-color=#e80000][ô]no modulo[/txt-color]
Global BD As Database
Global DB As Database
Global AreaTrabalho As Workspace
Sub execSQL(SQL As String)
Set DB = OpenDatabase([Ô]\\SERVIDOR\SISTEMA\Cyberbase.mdb[Ô])
DB.Execute SQL
DB.Close
End Sub
Sub ABRIR_BD_SEM_DATA1()
Set AreaTrabalho = DBEngine.Workspaces(0)
Set BD = AreaTrabalho.OpenDatabase([Ô]\\SERVIDOR\SISTEMA\Cyberbase.mdb[Ô], False, False)
End Sub
[txt-color=#e80000][ô]no form[/txt-color]
[txt-color=#0000f0][ô]para inserir produtos na tabela[/txt-color]
Verifica_QuantEstoque
If VERIFICAR_QUANTIDADE = True Then
LimparObjetos_Produto
Exit Sub
End If
[ô]ADICIONAR O PRODUTO
Autonumeracao_Itens
execSQL [Ô]INSERT INTO PEDIDOS_ITENS VALUES([Ô] & Y & [Ô],[Ô] & txtCodPedido.Text & [Ô], 0 , [Ô] & txtCodProduto.Text & [Ô],[ô][Ô] & lblDesc.Caption & [Ô][ô],[ô][Ô] & txtValor.Text & [Ô][ô],[Ô] & Replace(txtQuant.Text, [Ô],[Ô], [Ô].[Ô]) & [Ô], [ô][Ô] & txtTotal.Text & [Ô][ô], [ô]R[ô], 0, #[Ô] & Format(Date, [Ô]MM/DD/YYYY[Ô]) & [Ô]#, [ô]BALCÃO[ô])[Ô]
LimparObjetos_Produto
[ô]MOSTRAR NA GRADE
Mostrar_Produtos
txtCodBarra.SetFocus
[txt-color=#0000f0][ô]as rotinas mensiondas ai em cima[/txt-color]
Private Sub Autonumeracao_Itens()
Call ABRIR_BD_SEM_DATA1
SQL = [Ô]SELECT MAX(CODIGO) as ULTIMO_ITEM FROM PEDIDOS_ITENS[Ô]
Set RS = BD.OpenRecordset(SQL, dbOpenSnapshot)
Y = IIf(IsNull(RS.Fields!ULTIMO_ITEM) = True, 1, RS.Fields!ULTIMO_ITEM + 1)
End Sub
Private Sub Mostrar_Produtos()
If txtCodPedido.Text = [Ô][Ô] Then Exit Sub
Call ABRIR_BD_SEM_DATA1
SQL = [Ô]SELECT CODIGO, COD_PRODUTO, DESCRICAO, Preco, QUANTIDADE, Total FROM PEDIDOS_ITENS WHERE COD_PEDIDO = [Ô] & txtCodPedido.Text & [Ô] ORDER BY CODIGO DESC[Ô]
Set RS = BD.OpenRecordset(SQL, dbOpenSnapshot)
FormatarGrid
End Sub
Private Sub Verifica_Existencia_Produto()
If txtCodBarra.Text = [Ô][Ô] Then Exit Sub
Call ABRIR_BD_SEM_DATA1
SQL = [Ô]SELECT (PRODUTOS.COD_BARRA) AS VAR_CODBARRA, (PRODUTOS.UNID_MEDIDA) AS VAR_UNIDMED, (PRODUTOS.CODIGO) AS VAR_CODPROD, (PRODUTOS.DESCRICAO) AS VAR_DESC, (PRODUTOS_ENTRADA_ITENS.VENDA) AS VAR_VENDA FROM (PRODUTOS LEFT JOIN ULTIMAS_ENTRADAS ON PRODUTOS.CODIGO = ULTIMAS_ENTRADAS.CODIGO_PRODUTO) LEFT JOIN PRODUTOS_ENTRADA_ITENS ON (ULTIMAS_ENTRADAS.CODIGO_PRODUTO = PRODUTOS_ENTRADA_ITENS.CODIGO_PRODUTO) AND (ULTIMAS_ENTRADAS.ULTENTRADA = PRODUTOS_ENTRADA_ITENS.CODIGO_ENTRADA) WHERE PRODUTOS.COD_BARRA = [ô][Ô] & txtCodBarra.Text & [Ô][ô] and PRODUTOS.ATIVO = TRUE[Ô]
Set RS = BD.OpenRecordset(SQL, dbOpenSnapshot)
EXISTENCIA_PRODUTO = False
If RS.RecordCount <= 0 Then
MsgBox [Ô]Produto não cadastrado![Ô], vbInformation, [Ô]aviso do Sistema[Ô]
EXISTENCIA_PRODUTO = True
End If
End Sub
Tive o cuidado em todas as consultas colocar dbOpenSnapshot para consumir menos menoria
Tive o cuidade de nunca usar tabelax.* para não trazer campos desnecessarios
então onde estou errando?
Qual o tamanho do banco de dados?
Os Ãndices da tabela estão ok?
Já tentou usar o banco de dados no terminal para ver se mudava alguma coisa?
Já tentou deixar o objeto database aberto durante a venda?
Notou a velocidade na hora de abrir o banco de dados?
que tem otimas ferramentas
ou o dts do mssql 2005
abç