public IQueryAdapter GetQueryReactor() { IDatabaseClient databaseClient = new DatabaseClient(_connectionStr); databaseClient.Connect(); return(databaseClient.GetQueryReactor()); }
public IQueryAdapter GetQueryReactor() { DatabaseClient client = ReturnConnectedConnection(); lock (client) { client.Connect(); return(client.GetQueryReactor()); } }
static void Main(string[] args) { try { if (args.Length < 6) { Console.WriteLine("Incorrect parameters. Usage is:"); Console.WriteLine("PsiDataCollection.exe <{0}> <{1}> <{2}> <{3}> <{4}> <{5}>", "Domain Name", "Naming Context", "DB Host", "DB Schema", "DB Username", "DB Password"); } else { List <EnvironmentRecord> records = AcquireRecords(args[0], args[1]); LogRecords(records); if (records != null && records.Count > 0) { DatabaseClient db = new DatabaseClient(args[2], args[3], args[4], args[5]); if (!db.Connect()) { Console.WriteLine("Could not connect to the database. Please check your input parameters."); } else { Console.WriteLine("Connected to the database. Storing records..."); foreach (EnvironmentRecord record in records) { db.StoreEnvironmentRecord(record); } } } } } catch (Exception e) { Console.WriteLine(e.ToString()); } }
/// <summary> /// Runs a client that allows the user to search the database for records and update found records /// </summary> /// <param name="args"></param> static void Main(string[] args) { IPAddress ipAddress = IPAddress.Parse("127.0.0.1"); int port = 8021; //Parse command line arguments int argc = args.GetUpperBound(0); if (argc > 2) { for (int i = 0; i < argc; i++) { try { //Port if (args[i] == "-p" && (i + 1) < argc) { port = int.Parse(args[i + 1]); } //Ip address else if (args[i] == "-i" && (i + 1) < argc) { ipAddress = IPAddress.Parse(args[i + 1]); } } catch (Exception) { Console.WriteLine("Failed to accept arguments: {0} {1}:", args[i], args[i + 1]); // Print usage statement... Console.WriteLine("Usage: Client1 [-p port] [-i ipaddress]"); } } } Console.WriteLine("(FindClient): Starting..."); try { DatabaseClient client = new DatabaseClient(); Console.WriteLine("(FindClient): Connecting"); client.Connect(ipAddress.ToString(), port); //Find loop while (true) { int memid = 0; string memid_input; bool success = false; do { success = true; Console.Write("Enter an integer value ({0} to quit): ", kQuitValue); memid_input = Console.ReadLine(); try { memid = int.Parse(memid_input); } catch (FormatException) { success = false; } catch (OverflowException) { success = false; } }while (!success); if (memid == kQuitValue) { break; } try { //Query server for record Console.WriteLine("(FindClient): Checking for Record {0}", memid); DataRecord record = client.Find(memid); Console.WriteLine("MemberID:{0}", record.MemberID); Console.WriteLine("First name:{0}", record.FirstName); Console.WriteLine("Last name:{0}", record.LastName); Console.WriteLine("DOB:{0}", record.DateOfBirth); Console.WriteLine("Update record?(y/n):"); string answer = Console.ReadLine(); //Update record if (answer == "y" || answer == "Y") { try { Console.WriteLine("New first name(Blank for original):"); string newFirstName = Console.ReadLine(); Console.WriteLine("New lastfirst name(Blank for original):"); string newLastName = Console.ReadLine(); Console.WriteLine("New DOB( MM/DD/YYYY HH:MM:SS )(Blank for original):"); string newDOB = Console.ReadLine(); if (newDOB != "") { record.DateOfBirth = DateTime.Parse(newDOB); } if (newFirstName != "") { record.FirstName = newFirstName; } if (newLastName != "") { record.LastName = newLastName; } } catch (Exception ex) { Console.Write("(FindClient): Error, "); Console.WriteLine(ex.Message); continue; } client.Update(record); } } catch (ArgumentException) { Console.WriteLine("(FindClient): Error, bad response"); continue; } catch (OutOfMemoryException) { Console.WriteLine("(FindClient): Database is full"); continue; } catch (KeyNotFoundException) { Console.WriteLine("(FindClient): Record with MemberID {0} does not exist", memid); continue; } catch (FormatException) { Console.WriteLine("(FindClient): Failure to recieve valid response"); continue; } catch (DatabaseException) { Console.WriteLine("(DataClient): Database Error"); } } Console.WriteLine("(FindClient): Disconnecting"); client.Disconnect(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); Console.WriteLine(ex.Message); } Console.WriteLine("(FindClient): Shutting Down"); Console.ReadKey(); }
/// <summary> /// Runs a client that connects to the server and automatically feeds in random records to add to the database /// </summary> /// <param name="args"></param> static void Main(string[] args) { IPAddress ipAddress = IPAddress.Parse("127.0.0.1"); int port = 8021; int delayms = 100; //Parse Command Line arguments int argc = args.GetUpperBound(0); if (argc > 2) { for (int i = 0; i < argc; i++) { try { //delay if (args[i] == "-d" && (i + 1) < argc) { delayms = int.Parse(args[i + 1]); } //Port else if (args[i] == "-p" && (i + 1) < argc) { port = int.Parse(args[i + 1]); } //ip address else if (args[i] == "-i" && (i + 1) < argc) { ipAddress = IPAddress.Parse(args[i + 1]); } } catch (Exception) { Console.WriteLine("Failed to accept arguments: {0} {1}:", args[i], args[i + 1]); // Print usage statement... Console.WriteLine("Usage: Client1 [-d delay][-p port][-i ipaddress]"); } } } Console.WriteLine("(DataClient): Starting..."); try { Random rand = new Random(); DatabaseClient client = new DatabaseClient(); Console.WriteLine("(DataClient): Connecting"); client.Connect(ipAddress.ToString(), port); for (int i = 1; i <= 40000; i++) { int namemin = kRandomNames.GetLowerBound(0); int namemax = kRandomNames.GetUpperBound(0); string firstname = kRandomNames[rand.Next(namemin, namemax)]; string lastname = kRandomNames[rand.Next(namemin, namemax)]; string datestr = rand.Next(int.MaxValue / 4).ToString() + rand.Next(int.MaxValue / 4).ToString(); DateTime date = DateTime.FromFileTime(long.Parse(datestr)); Console.WriteLine("(DataClient): Inserting Record {0}", i); Console.WriteLine("(DataClient):\tFirstName: {0}\tLastName: {1}\tDate: {2}", firstname, lastname, date); try { DataRecord record = new DataRecord(0, firstname, lastname, date); client.Insert(record); } catch (ArgumentException) { Console.WriteLine("(DataClient): Error, bad response"); } catch (OutOfMemoryException) { Console.WriteLine("(DataClient): Database is full"); } catch (DatabaseException) { Console.WriteLine("(DataClient): Database Error"); } Thread.Sleep(delayms); } Console.WriteLine("(DataClient): Disconnecting"); client.Disconnect(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); Console.WriteLine(ex.Message); } Console.WriteLine("(DataClient): Shutting Down"); Console.ReadKey(); }
public DatabaseClient GetClient() { lock (this) { if(mClients.Length > 2) for (uint i = 0; i < mClients.Length; i++) { if (mClientAvailable[i] == true) { mClientAvailable[i] = false; mClientStarvationCounter = 0; if (mClients[i].State == ConnectionState.Closed) { try { ConnectionState StateConn = mClients[i].Connect(); if (StateConn == ConnectionState.Connecting) { Log.WriteLine(LogLevel.Debug,"Opening connection for database client #" + mClients[i].mHandle); } else if (StateConn == ConnectionState.Open) { mClients[i].Destroy(); mClients[i] = new DatabaseClient(i, this); mClients[i].Connect(); } else if (StateConn == ConnectionState.Closed) { //TODO Caching Console.WriteLine("Caching client Message"); return mClients[i]; } else if(StateConn == ConnectionState.Broken) { mClients[i].Destroy(); mClients[i] = new DatabaseClient(i, this); mClients[i].Connect(); } } catch(Exception ex) { Log.WriteLine(LogLevel.Exception,"{0}", ex.Message); } } if (mClients[i].State == ConnectionState.Open) { mClients[i].UpdateLastActivity(); if (!mClients[i].IsBussy) { mClients[i].IsBussy = true; return mClients[i]; } } } } mClientStarvationCounter++; if (mClientStarvationCounter >= ((mClients.Length + 1) / 2)) { mClientStarvationCounter = 0; SetClientAmount((uint)(mClients.Length + 1 * 1.3f)); return GetClient(); } DatabaseClient pAnonymous = new DatabaseClient(0, this); ConnectionState StateConns = pAnonymous.Connect(); if (StateConns == ConnectionState.Connecting) { pAnonymous.IsBussy = true; Log.WriteLine(LogLevel.Debug, "Opening connection for database clientanon"); } else if (StateConns == ConnectionState.Open) { pAnonymous.Destroy(); pAnonymous = new DatabaseClient(0, this); pAnonymous.Connect(); } else if (StateConns == ConnectionState.Closed) { //TODO Caching Console.WriteLine("Caching client Message"); return pAnonymous; } else if (StateConns == ConnectionState.Broken) { pAnonymous.Destroy(); pAnonymous = new DatabaseClient(0, this); pAnonymous.Connect(); } // pAnonymous.Connect(); Log.WriteLine(LogLevel.Debug,"Handed out anonymous client."); return pAnonymous; } }