ED - Caret
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 25/09/2007 11:18 hs
Olá pessoal.. Tenho dois usuario que trabalham em rede remota, quando um se conecta blz, porem quando o segundo conecta esta não consegue inserir/alterar, excluir nada, o banco para ele fica somente leitura. 'Abro o banco assim With bd .CommandTimeout = 10 .ConnectionTimeout = 5 .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source = " & CmhBDRede & ";" & _ "Jet OLEDB:Database Password= Senha" & _ "User ID =Admin;" & _ "Password =;" .Open End With
'Abro a tabela assim Qd = "SELECT Campo From Tabela ORDER BY Campo;" Set Tabela = New ADODB.Recordset Tabela.Open Qd, bd, adOpenForwardOnly, adLockBatchOptimistic Do While Not Tabela.EOF CBOCampo.AddItem Tabela!Campo Tabela.MoveNext Loop Set Tabela = Nothing
'Para gravar faço assim bd.Execute "INSERT INTO Tabela (Campo) VALUES (= '" & CBOCampo.Text & ')"
DA A SEGUINTE MENSAGEM PARA O USUARIO QUE SE CONECTOU DEPOIS DO PRIMEIRO: "A operação deve ser uma consulta atualizável." - Ou seja, o banco esta em modo leitura para ele. Então imagino que o problema deve estar na abertura do bd, haja vista que a tabela foi aberta somente para carregamento da combo e logo em seguido fora fechada. Com o primeiro usuario tudo funciona uma maravilha ou se estiver apenas um conectado, nenhum erro dá. TT...Gente!!!!!!! Tô no desspero - SÓ VOCES MESMOS PARA ME AJUDAR
|
|
|
|
kerplunk
|
SÃO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 25/09/2007 11:20 hs
Ao invés de adOpenForwardOnly use adOpenDynamic
|
|
|
ED - Caret
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 25/09/2007 11:26 hs
Já fiz isso e tambem não deu certo e ate isso.. Tabela.Open Qd, bd, adOpenForwardOnly, adLockReadOnly tô errascado...
|
|
|
Link
|
CATANDUVA SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 27/09/2007 16:53 hs
Que tipo de Banco você está usando? Eu trabalhava com Access, mas me deparei com este problema quando o banco tinha de ser acessado por mais de um usuário numa rede. Então estou migrando para o SQL Server... Com SQL você pode fazer sua programação normalmente sem se preocupar com vários usuários tentando gravar ao mesmo tempo... pois o Banco de Dados se vira com tudo... Bom pessoal, pelo menos isso é algo que andei pesquisando e andei lendo na net... ainda não sou expert no assunto... Mas acredito que este é o caminho... Valeu!
LiNk
|
|
|
Tiranossauro
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 27/09/2007 22:46 hs
Definir o tipo de bloqueio - LockType = adLockBatchOptimistic - indicando que as atualizações no recordset ocorrerão no modo otimista e em lote. ( durante a edição outros usuários não poderão alterar o conteúdo do registro
|
|
|