VERSOES DO WINDOWS, COMO RESOLVER?
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
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
bem... o win98 tem o mesmo mdac que vc tem no xp? em qual linha ocorre o erro?
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.
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]
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]
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!!!!
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!!!!
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.
Esse problema já aconteceu comigo. O resolvi gerando o instalador de uma máquina com o sistema operacional Windows 2000.
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.
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.
Ok.. vou instalar o win98 aqui... vamos ver o que vai dar... dai coloco aqui o resultado...
obrigado pelas dicas.
obrigado pelas dicas.
Tópico encerrado , respostas não são mais permitidas