/// <summary> /// GetMySqlServer /// If windows based automatiallky generates login info /// Linux assumes local account. /// </summary> /// <param name="server"></param> /// <param name="databaseName"></param> /// <param name="user"></param> /// <returns></returns> public static BasicDBServer GetMySqlServer(string server, string databaseName, string user = "") { Logger.WriteLine("Linux=" + LinuxUtility.IsLinux()); if (LinuxUtility.IsLinux()) {//Linux login is from config file. Assuming localhost access if (user == "") { user = WindowsUtility.GetShortUserName(); } var cs = "server=" + server + ";uid=" + user + ";" + "database=" + databaseName + ";"; Logger.WriteLine(cs); return(new MySqlServer(cs)); } else { // use windows login for username var cs = "server=" + server + ";uid=" + GetWindowsUserName() + ";" + "pwd=" + GeneratePassword() + ";database=" + databaseName + ";"; string msg = cs; msg = msg.Replace("pwd=" + GeneratePassword(), "pwd=" + "xxxxx"); Logger.WriteLine(msg); return(new MySqlServer(cs)); } }
// string lastMessage = ""; /// <summary> /// Creates a BasicDBServer object with connection string details defined /// by a config file on Linux, or using AD on Windows. /// PostgresServer and PostgresUser may be defined in the config file /// </summary> /// <param name="databaseName"></param> /// <returns></returns> public static BasicDBServer GetPostgresServer(string databaseName = "", string serverName = "") { string server = serverName; if (server == "") // use config file. { server = ConfigurationManager.AppSettings["PostgresServer"]; } if (databaseName == "") { databaseName = ConfigurationManager.AppSettings["TimeSeriesDatabaseName"]; } if (LinuxUtility.IsLinux()) { string user = ConfigurationManager.AppSettings["PostgresUser"]; string cs = "Server=" + server + ";Database=" + databaseName + ";User id=" + user + ";"; return(new PostgreSQL(cs)); } else { string cs = PostgreSQL.CreateADConnectionString(server, databaseName); return(new PostgreSQL(cs)); } }
/// <summary> /// GetMySqlServer /// If windows based automatiallky generates login info /// Linux assumes local account. /// </summary> /// <param name="server"></param> /// <param name="databaseName"></param> /// <param name="user"></param> /// <returns></returns> public static BasicDBServer GetMySqlServer(string server, string databaseName, string user = "", string password = "") { Logger.WriteLine("Linux=" + LinuxUtility.IsLinux()); if (LinuxUtility.IsLinux() || server == "localhost") {//Linux login is from config file. Assuming localhost access if (user == "") { user = Environment.UserName; } var cs = "server=" + server + ";uid=" + user + ";" + "database=" + databaseName + ";"; Logger.WriteLine(cs); if (password != "") { cs += "pwd=" + password + ";"; } var msg = cs; msg = msg.Replace("pwd=" + password, "pwd=" + "xxxxx"); Logger.WriteLine(msg); return(new MySqlServer(cs)); } else { if (password == "") { var fn = "mysql_key.txt"; if (File.Exists(fn) && File.ReadAllLines(fn).Length > 0) { password = user + File.ReadAllLines(@"mysql_key.txt", Encoding.UTF8)[0]; } } string cs; if (user == "") { cs = "server=" + server + ";uid=" + Environment.UserName + ";" + "pwd=" + password + ";database=" + databaseName + ";"; } else { cs = "server=" + server + ";uid=" + user + ";" + "pwd=" + password + ";database=" + databaseName + ";"; } string msg = cs; msg = msg.Replace("pwd=" + password, "pwd=" + "xxxxx"); Logger.WriteLine(msg); return(new MySqlServer(cs)); } }
// string lastMessage = ""; /// <summary> /// Creates a BasicDBServer object. /// empty parameters userName and databaseName can be set in Config file /// </summary> /// <param name="databaseName"></param> /// <returns></returns> public static BasicDBServer GetPostgresServer(string databaseName = "", string serverName = "", string userName = "", string password = "") { string server = serverName; if (server == "") // use config file. { server = ConfigurationManager.AppSettings["PostgresServer"]; } if (databaseName == "") { databaseName = ConfigurationManager.AppSettings["PostgresDatabase"]; } if (userName == "") { userName = ConfigurationManager.AppSettings["PostgresUser"]; } if (LinuxUtility.IsLinux()) { if (userName == "") { userName = ConfigurationManager.AppSettings["PostgresUser"]; } } else // windows { if (userName == "") { userName = Environment.UserName.ToLower(); } } string cs = "Server=" + server + ";Database=" + databaseName + ";User id=" + userName + ";"; if (password == "") { //check config file for password password = ConfigurationManager.AppSettings["PostgresPassword"]; if (password == null) { password = ""; } if (File.Exists(password)) // might be file with password { password = File.ReadAllText(password); } } if (password.Length > 0) { cs += "password="******";"; } var msg = cs; if (password.Length > 0) { msg = cs.Replace("password="******"password="******"xxxxx"); } Logger.WriteLine(msg); return(new PostgreSQL(cs)); }