COLOCAR O SISTEMA EM REDE...
Boa tarde a todos! estou quase lelé da cuca... nao sei o q fazer +...
Quero colocar em rede.... Alquem pode me ajudar ??
Meu DB é Access 2003
Conexao ADO
tenho esse codigo na estação "Num Modulo". e quando rodo o sistema da um error "NAO FOI POSSIVEL ENCONTRAR ISAM DISPONIVEL." AI MARCA ESTE PONTO -->.OPEN
Option Explicit
Public Conexao As ADODB.Connection
----------------------------------------------
Public Vgb_Drive As String
Public Vgb_Filial As String
Public Vgb_CodFilial As String
Public strVgb_ConexaoSql As String
Public Vgb_ConexaoSql As ADODB.Connection
'Leitura do arquivo INI
Declare Function GetPrivateProfileString Lib "kernel32" Alias _
"GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, ByVal lpDefault As String, _
ByVal lpReturnedString As String, ByVal nSize As Long, _
ByVal lpFileName As String) As Long
Este ak está no arquivo Teste.ini
[FILIAL]
DSCFILIAL = "Teste"
CODFILIAL = "0001"
[DRIVES]
DRVIMP = "Caminho relat"
DRVEXE = "Caminho exe"
[IDIOMA]
IDIOMA = "BR"
[CONEXAO]
Conexao = "Provider= Microsoft.Jet.OLEDB.4.0;Data Source= \ecepcao\asbra\banco\SistemaAsbra.mdb;Jet Oledb atabase Password=123"
Quero colocar em rede.... Alquem pode me ajudar ??
Meu DB é Access 2003
Conexao ADO
tenho esse codigo na estação "Num Modulo". e quando rodo o sistema da um error "NAO FOI POSSIVEL ENCONTRAR ISAM DISPONIVEL." AI MARCA ESTE PONTO -->.OPEN
Option Explicit
Public Conexao As ADODB.Connection
----------------------------------------------
Public Vgb_Drive As String
Public Vgb_Filial As String
Public Vgb_CodFilial As String
Public strVgb_ConexaoSql As String
Public Vgb_ConexaoSql As ADODB.Connection
'Leitura do arquivo INI
Declare Function GetPrivateProfileString Lib "kernel32" Alias _
"GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, ByVal lpDefault As String, _
ByVal lpReturnedString As String, ByVal nSize As Long, _
ByVal lpFileName As String) As Long
Public Sub Main()
'On Error GoTo Trata_Erro
Dim strVgb_ConexaoSql As String
Vgb_Drive = fugLeituraIni("DRIVES", "DRVIMP") ' Drive p/ impressão
Vgb_Filial = fugLeituraIni("FILIAL", "DSCFILIAL") ' Descrição da Filial em operação
Vgb_CodFilial = fugLeituraIni("FILIAL", "CODFILIAL") ' Código da Filial em operação
strVgb_ConexaoSql = fugLeituraIni("CONEXAO", "CONEXAO") ' String p/ Conexao no SQL Server
'----------------------------------------------------
'Conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= \ecepcao\asbra\banco\SistemaAsbra.mdb; Jet Oledb:Database Password=123"
'----------------------------------------------------
Set Vgb_ConexaoSql = New ADODB.Connection
If Vgb_ConexaoSql.State = adStateClosed Then
With Vgb_ConexaoSql
.ConnectionString = strVgb_ConexaoSql
.CursorLocation = adUseClient
.ConnectionTimeout = 60
.Open
End With
End If
MDI_Principal.Show
Exit Sub
'Trata_Erro:
' Gerar Log de Erro
' MsgBox " Problemas na Conexão " & Err.Description
'End
End Sub
Function fugLeituraIni(strSecao As String, strItem As String) As String
'Função para leitura de parà ¢metros do arquivo INI
Dim vlst_w As String
Dim vlin_i As Integer
Dim vlsRetIni As Integer
On Error GoTo Trataerro
vlin_i = 400 'Tamanho máximo da linha de entrada
vlst_w = Space$(vlin_i)
'Leitura dos parà ¢metros para conexão
GetPrivateProfileString strSecao, strItem, "", vlst_w, vlin_i, "C:\Asbra\Teste.ini"
fugLeituraIni = Mid(Trim(vlst_w), 1, Len(Trim(vlst_w)) - 1)
Exit Function
Trataerro:
MsgBox "ERRO LEITURA INI"
'End
End Function
Public Function Centraliza(frm As Form) As String
'Centralizando os forms
If frm.MDIChild = True Then
frm.Move (Screen.Width - frm.Width) / 2, (Screen.Height - frm.Height) / 2 - 1000
frm.KeyPreview = True
Else
frm.Move (Screen.Width - frm.Width) / 2, (Screen.Height - frm.Height) / 2
frm.KeyPreview = True
End If
End Function
Este ak está no arquivo Teste.ini
[FILIAL]
DSCFILIAL = "Teste"
CODFILIAL = "0001"
[DRIVES]
DRVIMP = "Caminho relat"
DRVEXE = "Caminho exe"
[IDIOMA]
IDIOMA = "BR"
[CONEXAO]
Conexao = "Provider= Microsoft.Jet.OLEDB.4.0;Data Source= \ecepcao\asbra\banco\SistemaAsbra.mdb;Jet Oledb atabase Password=123"
sim.. a pasta esta compartilhada .. já testei manualmente..na barra de endereco....\ecepcao\asbra\banco\sistemaasbra.mdb.... o banco abre normalmente...
'gravar ini
Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
'recuperar ini
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
'Caminho do Banco
'Conecta Banco
Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
'recuperar ini
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public Function ReadINI(Section As String, Key As String, FileName As String)
'Filename=nome do arquivo ini
'section=O que esta entre []
'key=nome do que se encontra antes do sinal de igual
Dim retlen As String
Dim Ret As String
Ret = String$(255, 0)
retlen = GetPrivateProfileString(Section, Key, "", Ret, Len(Ret), FileName)
Ret = Left$(Ret, retlen)
ReadINI = Ret
End Function
'Caminho do Banco
Public Function Banco()
Banco = ReadINI("Access", "Caminho", App.Path & "\Sist.ini")
End Function
'Conecta Banco
Public Function ConectaBanco()
On Error Resume Next
Conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Banco & ";Jet OLEDB:Database Password=merc290901;"
If Err Then
MSGERROS
End
End If
End Function
coloquei o exemplo q o maigo nil postou continua com o dando erro...objeto variable or with variable not set.. ENTÃO VOLTEI NO EXEMPLO Q POSTEI POR ESTà  MAS POR DENTRO... COM ESSE ERROR
POSSIVEL ENCONTRAR ISAM DISPONIVEL." AI MARCA ESTE PONTO
----> .Open
NAO CONSEQUI ABRIR...
POSSIVEL ENCONTRAR ISAM DISPONIVEL." AI MARCA ESTE PONTO
----> .Open
NAO CONSEQUI ABRIR...
voce consegue copiar arquivos pra essa pasta por rede cara?
Pera lá problema de isam nao tem nada a ver com pasta nao, é simplesmente ele nao esta achando ou o drive de conexao especificado para a conexao ado, não é satisfatorio, faz o seguinte converte esse banco access 2003 para o 2000/xp e tenta rodar, pq se nao me engano o Microsoft.Jet.OLEDB.4.0 nao guenta o access 2003.
sim exatamente na abertura usando o jet 4.0
Citação:MOREIRA escreveu:[
POSSIVEL ENCONTRAR ISAM DISPONIVEL.[Ãâ€ÂÂ] AI MARCA ESTE PONTO
----> .Open
NAO CONSEQUI ABRIR...
sim exatamente na abertura usando o jet 4.0
cara por que você não coloca o bd com somente uma tabela com o campo caminhoderede em cada máquina cliente, cria uma função para vincular as tabelas do banco de dados do servidor.
quando for aberto o sistema verifica a tabela e o campo caminhoderede, se ele encontrar vincula todas as tabelas se a tabela rede com o caminho da rede estiver vazio ele abre um formulário para que seja localizado o caminho da rede e salva na tabela. gravou este caminho pronto tá resolvido.
quando for aberto o sistema verifica a tabela e o campo caminhoderede, se ele encontrar vincula todas as tabelas se a tabela rede com o caminho da rede estiver vazio ele abre um formulário para que seja localizado o caminho da rede e salva na tabela. gravou este caminho pronto tá resolvido.
Citação:variable or with variable not set
coloque
new adodb.connection
Oi Moreira... trabalhar com sistemas em rede não é diferente em nada de trabalhar com sistema local, porém... duas coisas são super necessarias para que a comunição seja realizada com sucesso...
1º vc precisa ter em todas as maquinas que vão rodar seu sistema o MCAD atualizado você pode usar a versão 2.7
2º vc precisa instalar também o DBE administrator... é facil de ahar na net, com estes porgramas instalados a comunição se torna perfeita...
Qualquer coisa me manda um email!!
abraçoss
1º vc precisa ter em todas as maquinas que vão rodar seu sistema o MCAD atualizado você pode usar a versão 2.7
2º vc precisa instalar também o DBE administrator... é facil de ahar na net, com estes porgramas instalados a comunição se torna perfeita...
Qualquer coisa me manda um email!!
abraçoss
Tópico encerrado , respostas não são mais permitidas