Estoy intentan generar un conexión por medio de DI API a Sap B1 con BD SQL Server 2012.
Este es el código:
Public Sub Con()
'Define variables.
Dim vCmp As SAPbobsCOM.Company
Dim lRetCode, lErrCode As Long
Dim sErrMsg As String
' Step 1
' Initialize the Company Object.
' You must create this first to enable connection to the company database.
Set vCmp = New SAPbobsCOM.Company
' Step 2
' Set the mandatory connection properties.
vCmp.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2012
vCmp.LicenseServer = "IPServidor:30000"
oCompany.SLDServer = "IPServidor:40000";
vCmp.Server = "Name of the DB Server"
vCmp.DbUserName = "sa"
vCmp.DbPassword = "****"
vCmp.CompanyDB = "Enter the name of your company"
vCmp.UserName = "Enter the B1 user name"
vCmp.Password = "Enter the B1 password"
vCmp.Language = ln_Spanish_La 'Enter the logon language
' Step 3
' Use Windows authentication for database server.
' True for NT server authentication,
' False for database server authentication.
vCmp.UseTrusted = False
' Step 4
' Log on SAP Business One database.
lRetCode = vCmp.Connect
' Step 5
' Check result code.
' To continue, the result code must be 0.
' Otherwise, check the error code and its related error message.
If lRetCode <> 0 Then
vCmp.GetLastError lErrCode, sErrMsg
msgbox ("No Conectado, Error: " & lRetCode & " " & sErrMsg)
Else
msgbox ("Conectado")
End If
vCmp.Disconnect
End Sub
Pero al internar conectar me sale este error
Esta conexión ya la he hecho de manera local con SQL Sever 2017 en un entorno de prueba, pero al internarlo hacer de forma remota en el Sap de producción me da ese error.
Los errores que muestras son en un equipo especifico o en tu servidor, ¿valida si esta instalado tu DI API a 32 y 36 bits?, valida si tienes el slqcli instalado también. si el sap esta funcionando correctamente en todos los equipos quizás solo es un problema en el equipo local.
Buenas tardes.
Ese error sale cuando la propiedad “DbServerType” y el servidor no coincide.
Es decir, le estas indicando por DI API que te vas a conectar a un servidor MSSQL2012, pero tu servidor es MSSQL2015 O MSSQL2017 etc.
Asegurate que el servidor al que te quieres conectar sea MSSQL2012.
Tambien noto que al momento de asignar los datos en las propiedades de la variable “Company” estas colocando una varibale que no existe.
vCmp.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2012
vCmp.LicenseServer = "IPServidor:30000"
**oCompany.SLDServer = "IPServidor:40000";** --**ESTA**
vCmp.Server = "Name of the DB Server"
Otro dato interesante.
a partir de la 9.2 ya no se ocupa el LicenseServer.
Por favor valida esas dos cosas y nos comentas.
Saludos
@YesidG, prueba editando tu archivo host de windows en tu pc y has que lea por ip y por nombre en ocasiones eso ayuda este archivo esta normalmente en C:\Windows\System32\drivers\etc\ hosts
Tiene instalado el Native Client de SQL correcto?
Intenta cambiando la direccion del server entre IP y Nombre
Adicional, revisa que la configuracion de SQL en tu server acepte referencias por IP o Nombre
Si se debe tener instalado la misma versión de Native Client de SQL, y no es necesario cambiar los valores donde este localhost solo con la dirección correcta del SLD es suficiente, por ejemplo:
IPServidor:400000