Como executar um procedimento armazenado em um banco de dados para Visual FoxPro com o provedor OLE DB para Visual FoxPro

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 299820
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sumário
Nas versões do Visual FoxPro (VFP) anteriores à versão 7.0, você não pode executar diretamente um procedimento armazenado em um banco de dados para Visual FoxPro de fora para Visual FoxPro. Em vez disso, você deve usar os disparadores de tabela e de driver ODBC do Microsoft Visual FoxPro (MSVFP). Isso ocorre porque apenas ODBC de nível 2 compatível com ODBC drivers suportam esse tipo de funcionalidade e o driver ODBC MSVFP é ODBC compatível com, com alguns recursos de nível 2.

Para Visual FoxPro 7.0 e versões posteriores são fornecidos com um provedor OLE DB que pode ser usado para executar um procedimento armazenado diretamente em um banco de dados para Visual FoxPro. Este artigo descreve como fazer isso.

Observação : A para Visual FoxPro provedor OLE DB está disponível para cópias licenciadas do Microsoft Visual FoxPro 7.0 e para versões posteriores. Você pode baixar o provedor OLE DB para Visual FoxPro da seção Downloads do Visual FoxPro Developer Center no site do MSDN (Microsoft Developer Network). Para fazer isso, visite o seguinte site da MSDN:No entanto, o provedor OLE DB para Visual FoxPro não está incluído junto com qualquer versão do Microsoft Data Access Components (MDAC).
Mais Informações
Observação : você deve ter uma versão do Microsoft Visual FoxPro, o provedor OLE DB para Visual FoxPro e ActiveX Data Objects (ADO) no seu sistema para que este código funcione.

Para usar o provedor OLE DB para Visual FoxPro para executar um procedimento armazenado em um banco de dados para Visual FoxPro, execute essas etapas em qualquer versão para Visual FoxPro:
  1. Abra para Visual FoxPro e crie um novo banco de dados. Para fazer isso, no menu arquivo , clique em novo e, em seguida, clique em banco de dados . Não use o assistente.
  2. Nomeie o banco de dados StoredProcDBC e salvá-lo, observando a pasta que você salvá-lo no. O designer de banco de dados agora é mostrado.
  3. No menu banco de dados, selecione Editar procedimentos armazenados .
  4. Cole o código a seguir na janela de código que aparece:
    PROCEDURE AddValues(lpVar1, lpVar2)IF PARAMETERS() <2 OR VARTYPE(lpVar1) # 'N' OR ;		VARTYPE(lpVar2) # 'N'	RETURN .F.ENDIFRETURN lpVar1 + lpVar2ENDPROC					
  5. Salvar o código e fechar a janela de código. Feche o designer de banco de dados.
  6. Crie um novo programa. Para fazer isso, no menu arquivo , clique em novo e, em seguida, clique em banco de dados .
  7. Cole o código a seguir na janela de código:
    *-----------------------------------* AUTHOR: Trevor Hancock, Microsoft (trevorh@microsoft.com)* CREATED: 5/23/2001 2:31:06 PM* ABSTRACT: This program runs a stored procedure named*           AddValues() and returns a result. This procedure*           is in a VFP database called StoredProcDBC.DBC*           Taken from Microsoft Knowledge Base article Q299820.*-----------------------------------CLEAR#DEFINE THIS_DIR	SUBSTR(SYS(16),1, ATC("\",SYS(16),OCCURS("\",sys(16)))) #DEFINE VFP_DBC	 	THIS_DIR + "StoredProcDBC.dbc"PUBLIC goRS, goConnLOCAL lcSQLCMDCLOSE DATABASES ALLCD (THIS_DIR)goConn = CREATEOBJECT("ADODB.Connection")lcSQLCMD = "AddValues(22,9)"goConn.OPEN("Provider=vfpoledb;Data Source=" + VFP_DBC)? "Connection State:", goConn.StategoRS = goConn.Execute(lcSQLCMD)? "Stored Procedure Results:", goRS.FIELDS(0).VALUEgoRS.CLOSE()goConn.CLOSE()RELEASE goRS, goConn					
  8. Salve o programa na mesma pasta do banco de dados que você acabou de criar. O nome do programa não é importante.
  9. Execute o programa.
Quando esse código é executado, ele chama o procedimento armazenado no arquivo de banco de dados (.dbc) que você criou. O resultado do procedimento armazenado é armazenado a um recordset ADO. Esse valor, em seguida, é impresso _SCREEN. O programa passa dois parâmetros, 22 e 9, que o procedimento armazenado soma e retorna.
Referências
Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
148865PROBLEMA: Não é possível acessar procedimentos armazenados no banco de dados Visual FoxPro
OLEDB

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 299820 - Última Revisão: 12/06/2015 02:54:06 - Revisão: 3.1

Microsoft Visual FoxPro 3.0 Standard Edition, Microsoft Visual FoxPro 3.0b Standard Edition, Microsoft Visual FoxPro 5.0 Standard Edition, Microsoft Visual FoxPro 5.0a, Microsoft Visual FoxPro 6.0 Professional Edition, Microsoft Visual FoxPro 7.0 Professional Edition

  • kbnosurvey kbarchive kbmt kbcodesnippet kbhowto KB299820 KbMtpt
Comentários