Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Isaac Batista

VB6 - Problemas com o RDO

Recommended Posts

Bom Dia,

 

Estou com o seguinte problema:

 

Existe uma aplicação que funciona traquilamente e perfeitamente se a senha do do SA do BD SQL Server for branco (sem nenhum caractere).

 

O caso é que precisamos mudar a senha para uma senha FORTE e com isso a aplicação parou. Neste caso seria muito fácil, apenas mudarmos a senha no código da aplicação e pronto, mas não.

 

Instalamos o Microsoft Visual Basic 6.0 e abrimos o projeto, sendo assim fomos mudar a senha e colocamos pra executar. Nos é retornado a seguinte mensagem de erro:

 

http://forum.imasters.com.br/public/style_emoticons/default/excl.gif 429 ActiveX component can't create object

 

Imagem Postada

 

Já pude ver algumas soluções postadas pela Internet sobre essa mensagem, mas nenhuma me foi útil. Já desinstalei o VB6 instalei novamente, atualizei o SP para a versão 6 e nada.

 

No código, está escrito desta forma:

 

CODE
Sub SG_CONEXAO(ByVal NML_UID As String, ByVal NML_PWD As String, ByVal VL_DTB As String)

 

Dim CADASTRO, ConfigErro As Boolean

Dim DSL_ATR As String

 

On Error GoTo erroencontrado

 

'NMG_DSN = FG_PARAMETRO(1)

'VG_DATABASE = FG_PARAMETRO(2)

 

'NMG_DSN = "EST169" ' Estação Local

NMG_DSN = "SRV003" ' Servidor de Produção

VG_DATABASE = "DTB_DIATA" ' Banco de Dados Atual

'VG_DATABASE = VL_DTB ' estava antes

 

'Atributos do ODBC

DSL_ATR = "Description=SQL Server on server " & NMG_DSN _

& Chr$(13) & "UseProcForPrepare=No" _

& Chr$(13) & "QuotedId=No" _

& Chr$(13) & "AnsiNPW=No" _

& Chr$(13) & "OemToAnsi=No" _

& Chr$(13) & "SERVER=" & NMG_DSN _

& Chr$(13) & "Network=DBNMPNTW" _

& Chr$(13) & "Database=" & VG_DATABASE _

& Chr$(13) & "Address=\\" & NMG_DSN & "\PIPE\SQL\QUERY"

 

' Cria um novo DSN

' O Erro é percebido nesta linha abaixo

rdoEngine.rdoRegisterDataSource NMG_DSN, "SQL Server", True, DSL_ATR

 

On Error Resume Next

'If NML_UID = "ADMIN" Then

NML_UID = "usuario"

NML_PWD = "senha"

'End If

 

CADASTRO = False

ConfigErro = False

 

'Monta Conexão

Set VG_Ambiente = rdoEnvironments(0)

With VG_Conexao

'.Connect = "UID=" & NML_UID & ";PWD=" & NML_PWD & ";DSN=" & NMG_DSN & ";"

.Connect = "UID=usuario;PWD=senha;DSN=" & NMG_DSN & ";"

.LoginTimeout = 5

.QueryTimeout = 600

.CursorDriver = rdUseOdbc

.EstablishConnection IIf(NML_PWD = "senha", rdDriverPrompt, rdDriverNoPrompt), False, IIf(NML_PWD = "senha", 0, 32)

 

Do Until VG_Conexao.StillConnecting = False

Loop

Screen.MousePointer = 1

End With

Exit Sub

 

erroencontrado:

Select Case Err

Case 4000

ConfigErro = True

Case 40005

CADASTRO = True

Resume Next

Case Else

MsgBox "Erro desconhecido. O sistema será encerrado !", vbOKOnly Or vbExclamation, frm_Principal.Caption

MsgBox Format$(Err.Number) & " " & Err.Description

End

End Select

 

End Sub

Desde já Agradeço a quem puder me ajudar pois, não sei se já sitei esse agravante, sou conhecedor da Linguagem VB mas o mais próximo que a utilizei foi no ASP pois minha área é mais WEB e não DESKTOP que é esse caso ai. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

Bom... Com esse erro não posso gerar um novo executável e assim não posso mudar a conexão (usuario e senha novos).

 

Aguardo Retorno e Desde já deixo os meus sinceros Agradecimentos.

 

Atenciosamente

 

--

--------------------------------------------------------

Isaac Batista

Fone: +55 85 8821.2845

MSN Messenger: isaac.ce@gmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isaac, apenas uma vez fiz uma conexão em um banco de dados com senha, e era para access.

 

Mas a string de conexão fica diferente, pelo menos no caso dao access.

 

Segue abaixo como ficou minha string:

 

Microsoft.Jet.OLEDB.4.0;Data Source=meubanco.mdb;Jet OLEDB:Database Password=1234;

'Para acessar um BD com senha, essa parte faz a diferença:Jet OLEDB:Database Password=1234;

 

Te confesso que não entendi muito seu código na sua conexão, mas a string acima utilizei conectando via ADO, e se você disse que costuma trabalhar com VB Script, provavelmente entende disso.

 

Depois diz se funcionou.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.