Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

ConnectionUtil.cs 1.6 KiB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System;
  2. using System.Data.SqlClient;
  3. namespace DotNetCore.CAP.SqlServer.Test
  4. {
  5. public static class ConnectionUtil
  6. {
  7. private const string DatabaseVariable = "Cap_SqlServer_DatabaseName";
  8. private const string ConnectionStringTemplateVariable = "Cap_SqlServer_ConnectionStringTemplate";
  9. private const string MasterDatabaseName = "master";
  10. private const string DefaultDatabaseName = @"DotNetCore.CAP.SqlServer.Test";
  11. private const string DefaultConnectionStringTemplate =
  12. @"Server=192.168.2.206;Initial Catalog={0};User Id=sa;Password=123123;MultipleActiveResultSets=True";
  13. public static string GetDatabaseName()
  14. {
  15. return Environment.GetEnvironmentVariable(DatabaseVariable) ?? DefaultDatabaseName;
  16. }
  17. public static string GetMasterConnectionString()
  18. {
  19. return string.Format(GetConnectionStringTemplate(), MasterDatabaseName);
  20. }
  21. public static string GetConnectionString()
  22. {
  23. return string.Format(GetConnectionStringTemplate(), GetDatabaseName());
  24. }
  25. private static string GetConnectionStringTemplate()
  26. {
  27. return
  28. Environment.GetEnvironmentVariable(ConnectionStringTemplateVariable) ??
  29. DefaultConnectionStringTemplate;
  30. }
  31. public static SqlConnection CreateConnection(string connectionString = null)
  32. {
  33. connectionString = connectionString ?? GetConnectionString();
  34. var connection = new SqlConnection(connectionString);
  35. connection.Open();
  36. return connection;
  37. }
  38. }
  39. }