cancel
Showing results for 
Search instead for 
Did you mean: 

Problema na conexão do SDK

Former Member
0 Kudos

Amigos, estou com um problema na conexão do sistema ao SAP B1, vejam se podem me ajudar.

Eu criei uma aplicação em C# para fazer transferências automáticas entre depósitos através da demanda gerada pelas ordens de produção. Fiz a aplicação e testei na minha máquina virtual.

Funcionou perfeitamente com a dica dada pelo Fábio Bilicki. Porém quando testo a aplicação em meu ambiente de produção ele dá o erro “Unable to connect to SBO-COMMON” na conexão.

Verifiquei nos arquivos “b1-local-machine” das pastas “SAP Business One DI API/Conf” e “SAP Business One/Conf” e os mesmos estavam com o nome do servidor certo na linha <value>Servidor:30000<value>;

Tentei colocar o IP tanto nos arquivos quanto no oCompany.Server, porém com IP também não resolveu.

Teria algum outro arquivo que tenho de configurar para rodar a aplicação ou algo que necessite fazer e não tenha feito em termos de configuração?

Caso possam me ajudar?

Obrigado!

Cordialmente,

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Diego, segue o trecho de conexão abaixo:

int RedCode = -1;

            string strMsg;

            try

            {

                oCompany = new SAPbobsCOM.Company();

                oCompany.Server = @"Nome Servidor\Nome Instância";

                oCompany.CompanyDB = "Nome Base de dados";

                oCompany.LicenseServer = "Nome Servidor:30000";

                oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2008;

                oCompany.DbUserName = "sa";

                oCompany.DbPassword = "senha";

                oCompany.UserName = "Usuário";

                oCompany.Password = "senha";

                oCompany.UseTrusted = true;

                RedCode = oCompany.Connect();

                if (RedCode != 0)

                {

                    strMsg = oCompany.GetLastErrorDescription();

                }

                else

                {

                    strMsg = "Conectado a CIA - " + oCompany.CompanyName;

                    btnTransferir.BackColor = Color.Green;

                }

                MessageBox.Show(strMsg);

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

Na verdade eu gero um executável e rodo o mesmo da minha rede interna normal.

Estou desenvolvendo a aplicação em uma máquina virtual mas o servidor de banco de dados fica em outra máquina junto da aplicação do SAP.

former_member185682
Active Contributor
0 Kudos

Olá alexandre,

Tente não informar o seguinte comando:

oCompany.UseTrusted = true;


Se você utilizar esse recurso , você não precisa fornecer os dados do usuário do banco.


Att,

Diego Lother

Former Member
0 Kudos

Oi Diego, primeiro gostaria de agradecer a ajuda.

Mas estes procedimentos eu já tinha feito sem sucesso.

De minha máquina virtual consigo acessar o servidor SAP de produção.

Infelizmente não consegui resolver o problema.

Será que estou esquecendo de algum detalhe que me passa desapercebido?

Já vi centenas de documentações e ainda não consegui achar uma pista.

Se puderem pensar em algo mais?

Obrigado de qualquer forma.

former_member185682
Active Contributor
0 Kudos

Alexandre,

É possível compartilhar seu trecho de código referente a conexão com o SAP?

E como você acessa o servidor de produção da sua VM?Através de mstsc ou só conecta no banco através do sql server management?

Servidor de banco de dados de produção e servidor de aplicação são a mesma máquina?

Att,

Diego

former_member185682
Active Contributor
0 Kudos

Olá Alexandre,

Esse erro pode ser causado por vários fatores, segue alguns itens que podem ser observados:


                oCompany.Server = @"server\instancia";

                oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2012;

                oCompany.CompanyDB = "SBODemo_BR";

                oCompany.LicenseServer = "server:30000";

                oCompany.DbUserName = "dbUser";

                oCompany.DbPassword = "dbPass";

                oCompany.UserName = "user";

                oCompany.Password = "pass";

                oCompany.language = SAPbobsCOM.BoSuppLangs.ln_Portuguese_Br;

01. Se a instalação do sql, tiver uma instância definida, a mesma deve ser informada junto com o nome do servidor de banco de dados na propriedade oCompany.Server.

02. Verificar se a versão do banco de dados está condizente.

04. Defina a propriedade oCompany.LicenseServer exatamente como está descrito no Service Manager do seu servidor de aplicação. Se estiver ip:30000 ou server:30000

Se o problema persistir, na máquina que você está rodando a sua aplicação C#, verifique através do sql server management se é possível conectar ao servidor de banco de dados do SAP.

Att,

Diego