private static ConnectionManager instance;
private ConnectionHolder<SqlConnection> sql;
- private const string OdbcEnvVar = "SYSTEM_DATA_ODBC";
- private const string SqlEnvVar = "SYSTEM_DATA_MSSQL";
+ private const string OdbcEnvVar = "SYSTEM_DATA_ODBC_V2";
+ private const string SqlEnvVar = "SYSTEM_DATA_MSSQL_V2";
private ConnectionManager ()
{
- //Environment.SetEnvironmentVariable(OdbcEnvVar, @"Driver={MySQL ODBC 5.3 Unicode Driver};server=127.0.0.1;uid=sa;pwd=qwerty123;";
- //Environment.SetEnvironmentVariable(SqlEnvVar, @"server=127.0.0.1;database=master;user id=sa;password=qwerty123";
+ //Environment.SetEnvironmentVariable(OdbcEnvVar, @"Driver={MySQL ODBC 5.3 Unicode Driver};server=127.0.0.1;uid=sa;pwd=qwerty123;");
+ //Environment.SetEnvironmentVariable(SqlEnvVar, @"server=127.0.0.1;database=master;user id=sa;password=qwerty123");
// Generate a random db name
DatabaseName = "monotest" + Guid.NewGuid().ToString().Substring(0, 7);
private void CreateMssqlDatabase()
{
DBHelper.ExecuteNonQuery(sql.Connection, $"CREATE DATABASE [{DatabaseName}]");
- sql.Connection.ChangeDatabase(DatabaseName);
+ sql.ConnectionString = sql.ConnectionString.Replace(sql.Connection.Database, DatabaseName);
+ sql.CloseConnection();
string query = File.ReadAllText(@"Test/ProviderTests/sql/sqlserver.sql");
this.connection = connection;
ConnectionString = connectionString;
}
+
+ public bool IsAzure => ConnectionString.ToLower().Contains("database.windows.net");
}
}
[Test]
public void ChangeDatabase ()
{
- conn = new SqlConnection (connectionString);
- conn.Open ();
- conn.ChangeDatabase ("master");
- Assert.AreEqual ("master", conn.Database);
+ conn = new SqlConnection(connectionString);
+ conn.Open();
+
+ if (ConnectionManager.Instance.Sql.IsAzure)
+ {
+ var exc = Assert.Throws<SqlException>(() => conn.ChangeDatabase("master"));
+ Assert.Equals(40508, exc.Number); //USE statement is not supported to switch between databases (Azure).
+ }
+ else
+ {
+ conn.ChangeDatabase("master");
+ Assert.AreEqual("master", conn.Database);
+ }
}
[Test]
public void ChangeDatabase_DatabaseName_DoesNotExist ()
{
+ if (ConnectionManager.Instance.Sql.IsAzure)
+ Assert.Ignore("SQL Azure doesn't support 'ChangeDatabase'");
+
conn = new SqlConnection (connectionString);
conn.Open ();
}
[Test]
+ [Category("NotWorking")]
public void ClearAllPools ()
{
SqlConnection conn1 = new SqlConnection (connectionString + ";Pooling=false");
[Test]
public void Database ()
{
+ if (ConnectionManager.Instance.Sql.IsAzure)
+ Assert.Ignore("SQL Azure doesn't support 'use [db]'");
+
conn = new SqlConnection (connectionString);
string database = conn.Database;
[Test]
public void GetSchemaTest1()
{
+ if (ConnectionManager.Instance.Sql.IsAzure)
+ Assert.Ignore("SQL Azure - Not supported'");
+
bool flag = false;
DataTable tab1 = conn.GetSchema("databases");
foreach (DataRow row in tab1.Rows)
[Test]
public void GetSchemaTest9()
{
+ if (ConnectionManager.Instance.Sql.IsAzure)
+ Assert.Ignore("SQL Azure - Not supported'");
+
bool flag = false;
DataTable tab1 = conn.GetSchema("Columns");
foreach (DataRow row in tab1.Rows)