Hola
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.
Garcias y saludos
Este error me sale también en el DTW

Buenas Tardes.
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.
Hola @jose_saul_san gracias por tu aporte.
-
Sap esta instalado en un servidor Win 2012
-
El DTW en el servidor Win 2012 funciona normalmente
-
En donde me da el error con el desarrollo de DI API y el DTW es un pc con Win 10
-
DI API esta instalado 32 bits e igual DTW, instale el DTW de 32 bits por que es el que funciona en el servidor
-
No tenia en cuenta que necesitar tener instalado el SQLClient, voy a instalarlo
De nuevo gracias y saludos
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
Hola,
El servidor es MSSQL2012, también lo intente quitando la parte de SLDServer.
Gracias y saludos
Hola @jose_saul_san
Instale SQLCliente, ya no me sale el error ahora me sale este
En DTW

Y en Excel

@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
Checa editanto el config.xml del DI API, ahi encontraras unos datos que tienen LOCALHOST hay que cambiarlos.
Hola @juliancab gracias por responder.
No funciono.
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
saludos
Hola gracias a todos por sus aportes.
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
Si te funciono no olvides marcar la respuesta correcta para cerrar el tema saludos.