private void ConnectSBO(ref SAPbobsCOM.Company oCompany, ref int nErr, ref string sErr, string CompanyName) { VisualD.Core.TVisualDCore Core; sErr = ""; nErr = 0; oLog.LogMsg("ConnectSBO start", "F", "D"); SBO_VID_Currency.Properties.Settings.Default.Reload(); // Set company properties switch (SBO_VID_Currency.Properties.Settings.Default.SQLType) // 0->2005 1-2008 2-2012 { case 0: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2005; break; case 1: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2008; break; case 2: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2012; break; case 3: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2014; break; case 4: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2016; break; case 5: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2017; break; case 6: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2019; break; case 7: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_HANADB; break; } oCompany.UseTrusted = false; oCompany.Server = SBO_VID_Currency.Properties.Settings.Default.SBOServer; // +":40000"; oCompany.DbUserName = SBO_VID_Currency.Properties.Settings.Default.DBUserName; oCompany.DbPassword = Crypt.Decrypt(SBO_VID_Currency.Properties.Settings.Default.DBPassword, "VIDCurrency0-09"); oCompany.CompanyDB = CompanyName; oCompany.UserName = globals.SBOUser; oCompany.Password = globals.SBOPass; //Try to connect nErr = oCompany.Connect(); oLog.LogMsg("try connect", "F", "D"); if (nErr != 0) // if the connection failed { oCompany.GetLastError(out nErr, out sErr); } else { SAPbobsCOM.Recordset oRecordSet; // A recordset object oRecordSet = (SAPbobsCOM.Recordset)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); if (oCompany.DbServerType == SAPbobsCOM.BoDataServerTypes.dst_HANADB) { oRecordSet.DoQuery("select \"InstallNo\" from \"CINF\""); } else { oRecordSet.DoQuery("select InstallNo from cinf"); } oLog.LogMsg("Select InstallNo", "F", "D"); if (oRecordSet.EoF) { sErr = "Installation Number no encontrado"; nErr = -1; return; } string InstallId = (System.String)oRecordSet.Fields.Item("installNo").Value; if (oCompany.DbServerType == SAPbobsCOM.BoDataServerTypes.dst_HANADB) { oRecordSet.DoQuery("Select CURRENT_DATE \"Fec\" from DUMMY"); } else { oRecordSet.DoQuery("Select GetDate() Fec"); } DateTime Fec = (System.DateTime)(oRecordSet.Fields.Item("Fec").Value); TGlobalAddOnOptions FOpcionAddOn = new TGlobalAddOnOptions(); List <String> FAddonsList = new List <String>(); string oK = "C9A80FB4-D8C3-11E0-AEAD-7E944824019B"; oLog.LogMsg("Before accept", "F", "D"); Core = new VisualD.Core.TVisualDCore(InstallId, Fec, ref FOpcionAddOn, ref oK, FAddonsList); if (Core.ExitApp) { sErr = "Licencia " + Core.Error; nErr = -2; oCompany.Disconnect(); } else if (oK != "E6DCA176-D8C3-11E0-93B0-86944824019B") { sErr = "VisualDCore enlace 2 inválido."; nErr = -3; oCompany.Disconnect(); } else { sErr = "OK"; } if (Core.EsDEmo) { oLog.LogMsg("Licencia de demostracion " + Core.AddOnName, "F", "W"); } oLog.LogMsg("after accept", "F", "D"); } oLog.LogMsg("Conexion a SBO: " + CompanyName + " - " + sErr, "F", "I"); }
private void conectarDBSQL(string BD, ref string sErr, ref int nErr, ref SqlConnection cnn) { //SqlConnection cnn = null; string s = "Password={0};Persist Security Info=True;User ID={1};Initial Catalog={2};Data Source={3}"; VisualD.Core.TVisualDCore Core; sErr = ""; nErr = 0; try { s = String.Format(s, globals.DBPass, globals.DBUser, BD, globals.server); oLog.LogMsg("try connect", "F", "D"); cnn = new SqlConnection(s); cnn.Open(); s = "select InstallNo, GetDate() Fec from cinf"; var command = new SqlCommand(s, cnn); using (SqlDataReader reader = command.ExecuteReader()) { if (reader.Read()) { string InstallId = ((System.String)reader.GetValue(0)).Trim(); DateTime Fec = ((System.DateTime)reader.GetValue(1)); TGlobalAddOnOptions FOpcionAddOn = new TGlobalAddOnOptions(); List <String> FAddonsList = new List <String>(); string oK = "C9A80FB4-D8C3-11E0-AEAD-7E944824019B"; oLog.LogMsg("Before accept", "F", "D"); Core = new VisualD.Core.TVisualDCore(InstallId, Fec, ref FOpcionAddOn, ref oK, FAddonsList); if (Core.ExitApp) { sErr = "Licencia " + Core.Error; nErr = -2; cnn.Close(); } else if (oK != "E6DCA176-D8C3-11E0-93B0-86944824019B") { sErr = "VisualDCore enlace 2 inválido."; nErr = -3; cnn.Close(); } else { sErr = "OK"; } if (Core.EsDEmo) { oLog.LogMsg("Licencia de demostración " + Core.AddOnName, "F", "E"); } oLog.LogMsg("after accept", "F", "D"); oLog.LogMsg("Conexión a SBO: " + BD + " - " + sErr, "F", "E"); } else { sErr = "Installation Number no encontrado"; nErr = -1; return; } } } catch (Exception e) { oLog.LogMsg("Conexión BD: " + BD + " " + sErr + "Exeption: " + e.Message, "F", "E"); } }