Estamos realizando muitas integrações no Protheus e como politica de melhores praticas executadas pelo nosso DBA, as tabelas\function\view\procedures estãio sendo criadas com schema diferente do padrão dbo para melhor gerir os perfis de acessos.
Mas o TCSPExec não reconhece procedures com schema diferente de dbo com o erro 2812
exemplo:
cNomeProc := "SCH_NUVEM.STP_PROCESSA_DADOS"
cMatricula := "000100"
TCSPExec( cNomeProc, cMatricula )
Error : 2812 (37000) (RC=-1) - [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Could not find stored procedure 'SCH_NUVEM.STP_PROCESSA_DADOS'.
Error : 2812 (00000) (RC=-1) - ( From tDBServer::ROP_SQLEXEC )
Thread ID [7528] User [teste IO [3717] Tables [64] MaxTables [66] Comment [CFCTB28 - TCPIP - ThreadID(17052)] SP [ ] Traced [No] SQLReplay [No] InTran [No] DBEnv [MSSQL/DADOSTST] DBThread [(SPID 89,90,92)] Started [11/12/2023 14:57:48] IP [192.168.100.201:1239] IDLE [ ] InTransact [ ] Memory [0] Running [ROP_SQLEXEC for 0 s.] RCV [88082] SND [622958] TCBuild [20230303-20230929] TCVersion [23.1.1.0] ARCH [64] OS [WINDOWS] BUILD [RELEASE]EXEC [SCH_NUVEM].[STP_PROCESSA_DADOS] '000100'
Olá, SCH_NUVEM é o nome do outro DBO, você tentou usar a procedure só informando o nome da mesma assim como informando o DBO a esquerda separado por ponto mais o nome da procedure? Algo como SCH_NUVEM.STP_PROCESSA_DADOS e STP_PROCESSA_DADOS.
— Daniel Mendes 12 de Dec de 2023