VERSOES DO WINDOWS, COMO RESOLVER?

CARINHENA 15/07/2005 15:11:40
#94365
Boa tarde...

Por acaso o ado não funciona com windows 98?

Sempre fiz meu programas no Windows XP (que é meu S.O.), bom, como em algumas aplicações não uso nenhum tipo de api especificado e somente uso ado pra conectar com base de dados... imaginei que não houvesse problemas em relação ao Windows 98, ja que como disse antes, não usei nada especifico como apis ou módulos que usem funções do WinXP, bem, pra minha surpresa, o programa roda em win 98, porem, não consegue se conectar com base de dados acces...

Eu me conecto ao banco dados dessa forma:

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset

caminhoWin = App.Path & "\Services.mdb"
caminhoWin2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & caminhoWin & ";Persist Security Info=False;Jet_ OLEDB:Database Password=ASSSS;Jet OLEDB:Encrypt Database=True"

cn.Open caminhoWin2
rs.Open "select * from OrdemDeServico", cn, adOpenForwardOnly, adOpenDynamic

O programa abre normalmente, porem, quando tento acessar, modificar ou criar algo no bd, da o seguinte erro:
"A conexão não pode ser usada para realizar esta operação. Ela está fechada ou é inválida neste contexto."

Dai é só mudar pro windows xp funciona normalmente...

A minha pergunta seria:
1 - tem algo na conexão que não funciona no win98?
2 - vou ter que instalar o win98 apenas pra poder fazer meus programas la?
3 - Tem algum jeito de contornar isso?

um abraço
JEAN.JEDSON 19/07/2005 08:05:56
#94842
bem... o win98 tem o mesmo mdac que vc tem no xp? em qual linha ocorre o erro?
LEANDRO.LUIZ 19/07/2005 08:19:53
#94852
Acho que vai ser o que o amigo Jean falou, o WinXp usa o Mdac2.8, e Win98 usa uma versão anterior, se você instalar o Mdac 2.8 no Win98 vai resolver seu problema.
LCSD 19/07/2005 08:35:42
#94861
Carinhena

Pacotes de Instalação gerados em Win2000 ou WinXP carregam alguns componentes que não funcionam corretamente em versões Win98. O ideal seria gerar em uma máquina Win98 e antes testá-la.
[s50]
FNBRAULINO 19/07/2005 09:03:33
#94877
rpz...
na hora de instalar num da nenhum erro à± ao registrar as dllÂÂÂ's, pq na minha maquina eh o XP tb, ai quando vou instalar em uma maquina que tenha win98 ou win2k ele da erro ao registrar uma dll chamada (msjro.dll), usada pra compactar o banco de dados(access2000), dai pra resolver esse pro eu gerei 2 setupÂÂÂ's um pra win 98 e win2k e outro pra winxp, sendo que cada pacote com a respectiva dll correta.
valew!!!!
WEBMASTER 19/07/2005 09:40:11
#94904
Tente instalar o MDAC na máquina onde irá instalar o sistema. Se não funcionar, gere o instalador de seu programa em uma máquina que possua o sistema operacional Windows 2000 ou 98.

Esse problema já aconteceu comigo. O resolvi gerando o instalador de uma máquina com o sistema operacional Windows 2000.
USUARIO.EXCLUIDOS 19/07/2005 10:38:27
#94949
Resposta escolhida
carinhena, altere o seu codigo, pois pelo que vejo o problema é com ele e não com as versões do windows, pois faço tambem no xp e instalo no 98 sem problemas, para isto apenas coloco a mdac junto no pacote de instalação:

a parte mais importante é esta:
Dim cn As ADODB.Connection 'sem o new aqui
Dim rs As ADODB.Recordset 'sem o new aqui
Set cn = New ADODB.Connection 'agora set a conexao
Set rs = New ADODB.Recordset 'agora set o recordset

daqui para baixo você pode mudar, mas não é necessário.

caminhoWin = App.Path & "\Services.mdb"
caminhoWin = App.Path & "\Services.mdb"
caminhoWin2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & caminhoWin & ";Persist Security Info=False;Jet_ OLEDB:Database Password=ASSSS;Jet OLEDB:Encrypt Database=True"
cn.Open caminhoWin2
with rs
.ActiveConnection = cn
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockPessimistic
.open "select * from OrdemDeServico"
end with
se o problema persistir é só avisar, e não se esqueça de colocar a mdac no seu pacote de instalação.
CARINHENA 19/07/2005 12:34:40
#94989
Ok.. vou instalar o win98 aqui... vamos ver o que vai dar... dai coloco aqui o resultado...
obrigado pelas dicas.
Tópico encerrado , respostas não são mais permitidas