//public List<ServerEntity> GetServerInfoByGuid(string[] GuidList, bool isWithPassword=false, bool bNeedSSO=false) //{ // m_Logger.DebugFormat("__{0}__: {1}: Enter Function", this.GetType().Name, MethodInfo.GetCurrentMethod().Name); // DataTable dtResult = new DataTable(); // List<ServerEntity> ServerInfos = new List<ServerEntity>(); // string strGuidList = String.Join(",", GuidList); // m_Logger.DebugFormat("__{0}__: {1}: strGuidList={2}, isWithPassword={3}", this.GetType().Name, MethodInfo.GetCurrentMethod().Name, strGuidList, isWithPassword.ToString()); // dtResult = ServerList.GetServer(m_DbConnectionString, strGuidList, isWithPassword); // if (dtResult.Rows.Count > 0) // { // foreach (DataRow dr in dtResult.Rows) // { // ServerEntity se = new ServerEntity(); // se.ServerID = (dr["ServerID"] == null) ? null : dr["ServerID"].ToString(); // se.ServerName = (dr["ServerName"] == null) ? null : dr["ServerName"].ToString(); // se.DisplayName = (dr["DisplayName"] == null) ? null : dr["DisplayName"].ToString(); // se.ProductID = (dr["ProductID"] == null) ? null : dr["ProductID"].ToString(); // se.ProductVersion = (dr["ProductVersion"] == null) ? null : dr["ProductVersion"].ToString(); // se.ServerType = (dr["ServerType"] == null) ? -1 : Convert.ToInt32(dr["ServerType"].ToString()); // se.Protocol = (dr["Protocol"] == null) ? null : dr["Protocol"].ToString(); // se.Host = (dr["Host"] == null) ? null : dr["Host"].ToString(); // se.Port = (dr["Port"] == null) ? null : dr["Port"].ToString(); // se.UserID = (dr["UserID"] == null) ? null : dr["UserID"].ToString(); // se.Password = (dr["Password"] == null) ? null : dr["Password"].ToString(); // se.ProxyEnable = (dr["ProxyEnable"] == null) ? 0 : Convert.ToInt32(dr["ProxyEnable"].ToString()); // se.CreatedUserID = (dr["CreatedUserID"] == null) ? null : dr["CreatedUserID"].ToString(); // se.Others = (dr["Others"] == null) ? null : dr["Others"].ToString(); // se.ProxyID = (dr["ProxyID"] == null) ? null : dr["ProxyID"].ToString(); // se.ProxyDisplayName = (dr["ProxyDisplayName"] == null) ? null : dr["ProxyDisplayName"].ToString(); // se.ProxyProtocol = (dr["ProxyProtocol"] == null) ? null : dr["ProxyProtocol"].ToString(); // se.ProxyServerName = (dr["ProxyServerName"] == null) ? null : dr["ProxyServerName"].ToString(); // se.ProxyPort = (dr["ProxyPort"] == null) ? null : dr["ProxyPort"].ToString(); // se.ProxyUserID = (dr["ProxyUserID"] == null) ? null : dr["ProxyUserID"].ToString(); // se.ProxyPassword = (dr["ProxyPassword"] == null) ? null : dr["ProxyPassword"].ToString(); // SingleSignOnInfo ssoInfo = new SingleSignOnInfo(); // if (string.IsNullOrEmpty(dr["UserID"].ToString()) && bNeedSSO) // { // ssoInfo.SSOInfo = 1; // string installPath = string.Empty; // SystemConfigurationXmlWrapper sysCfg = new SystemConfigurationXmlWrapper(true); // installPath = sysCfg.GetValueByParameterName("m_strTMS_InstallPath"); // Dictionary<string, string> dictSSOParameters = ServerList.GetSSOParameters(m_DbConnectionString, se.ServerID, installPath); // // remove the SSO parameter used by policy deployment // string host = string.Empty; // if (dictSSOParameters.ContainsKey("TargetServerIP")) // { // host = dictSSOParameters["TargetServerIP"]; // got from Uri.Host which is the hostname without port number // dictSSOParameters.Remove("TargetServerIP"); // } // if (host != string.Empty) // se.Host = host; // ssoInfo.SSOCookie = dictSSOParameters; // } // else // { // ssoInfo.SSOInfo = 0; // ssoInfo.SSOCookie = null; // } // se.SSO = ssoInfo; // ServerInfos.Add(se); // } // } // m_Logger.DebugFormat("__{0}__: {1}: Leave Function", this.GetType().Name, MethodInfo.GetCurrentMethod().Name); // return ServerInfos; //} public string[] GetServerGuidListByProductType(string strLogonUserGuid, string strProductID, string strPluginID) { m_Logger.DebugFormat("__{0}__: {1}: Enter Function", this.GetType().Name, MethodInfo.GetCurrentMethod().Name); m_Logger.DebugFormat("__{0}__: {1}: strLogonUserGuid={2}, strProductID={3}, strPluginID={4}", this.GetType().Name, MethodInfo.GetCurrentMethod().Name, strLogonUserGuid, strProductID, strPluginID); string[] ServerGuidList = { }; try { using (ServerDatabaseUtility serverDB = new ServerDatabaseUtility(m_DbConnectionString)) { ServerGuidList = serverDB.QueryServerGuidListByProductType(strLogonUserGuid, strProductID, strPluginID); } } catch (SqlException ex) { m_Logger.ErrorFormat("__{0}__: {1}: SQL Exception={2}", this.GetType().Name, MethodInfo.GetCurrentMethod().Name, ex.ToString()); throw; } catch (Exception ex) { m_Logger.ErrorFormat("__{0}__: {1}: Exception={2}", this.GetType().Name, MethodInfo.GetCurrentMethod().Name, ex.ToString()); throw; } m_Logger.DebugFormat("__{0}__: {1}: Leave Function", this.GetType().Name, MethodInfo.GetCurrentMethod().Name); return(ServerGuidList); }
// parameters: // cfg_dom 装入了 library.xml 的 XmlDocument 对象 // strDbName 被删除的数据库名 // return: // -1 验证过程出现错误(也就是说验证过程没有来的及完成) // 0 验证发现不正确 // 1 验证发现正确 public int VerifyDatabaseDelete( RmsChannel channel, string strDbType, string strDbName, out string strError) { int nRet = ServerDatabaseUtility.VerifyDatabaseDelete(this.LibraryCfgDom, strDbType, strDbName, out strError); if (nRet == -1) { return(-1); } if (string.IsNullOrEmpty(strDbType) == true) { strError = "strDbType 参数值不应为空"; return(-1); } if (string.IsNullOrEmpty(strDbName) == true) { strError = "strDbName 参数值不应为空"; return(-1); } // 实用库 // 不用再验证。因为数据库名信息都在 LibraryCfgDom 里面了,上面已经验证过了 string strDbTypeCaption = ServerDatabaseUtility.GetTypeCaption(strDbType); // 单个数据库 if (ServerDatabaseUtility.IsSingleDbType(strDbType)) { string dbname = GetSingleDbName(strDbType); if (string.IsNullOrEmpty(dbname) == false) { strError = "删除完成后," + strDbTypeCaption + "库名 '" + strDbName + "' 在 LibraryApplication 的 相应成员(.???DbName)内没有清理干净"; return(0); } } // 书目库 if (strDbType == "biblio") { // TODO: 在内存结构里面验证 } // 单个书目库下属库 if (ServerDatabaseUtility.IsBiblioSubType(strDbType) == true) { // TODO: 在内存结构里面验证 } if (strDbType == "reader") { // TODO: 在内存结构里面验证 } // 验证 dp2kernel 一端数据库是否被删除 if (channel != null) { // 数据库是否已经存在? // return: // -1 error // 0 not exist // 1 exist // 2 其他类型的同名对象已经存在 nRet = DatabaseUtility.IsDatabaseExist( channel, strDbName, out strError); if (nRet == -1) { strError = "验证物理数据库 '" + strDbName + "' 在 dp2kernel 一端是否成功删除时发生错误: " + strError; return(-1); } if (nRet >= 1) { strError = "物理数据库 '" + strDbName + "' 在 dp2kernel 一端未被删除: " + strError; return(-1); } } return(1); }