2 // Copyright (c) 2006 Mainsoft Co.
4 // Permission is hereby granted, free of charge, to any person obtaining
5 // a copy of this software and associated documentation files (the
6 // "Software"), to deal in the Software without restriction, including
7 // without limitation the rights to use, copy, modify, merge, publish,
8 // distribute, sublicense, and/or sell copies of the Software, and to
9 // permit persons to whom the Software is furnished to do so, subject to
10 // the following conditions:
12 // The above copyright notice and this permission notice shall be
13 // included in all copies or substantial portions of the Software.
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 using System.Data.OracleClient ;
28 using MonoTests.System.Data.Utils;
31 using NUnit.Framework;
33 namespace MonoTests.System.Data.OracleClient
36 public class OracleConnection_ChangeDatabase : ADONetTesterClass
38 public static void Main()
40 OracleConnection_ChangeDatabase tc = new OracleConnection_ChangeDatabase();
44 tc.BeginTest("NoName");
47 catch(Exception ex){exp = ex;}
48 finally {tc.EndTest(exp);}
52 [Category("NotWorking")]
57 OracleConnection con = new OracleConnection(MonoTests.System.Data.Utils.ConnectedDataProvider.ConnectionString);
60 //Currently not running on Oracle/DB2: .Net-Failed, GH:Pass
61 //not runnig on postgres because "The 'current catalog' property is not supported by the 'Mainsoft.JDBC.OLEDB.1' provider."
62 if (ConnectedDataProvider.GetDbType(con) != DataBaseServer.Oracle &&
63 ConnectedDataProvider.GetDbType(con) != DataBaseServer.DB2 &&
64 ConnectedDataProvider.GetDbType(con) != DataBaseServer.Sybase &&
65 ConnectedDataProvider.GetDbType(con) != DataBaseServer.PostgreSQL)
69 BeginCase("Change DataBase");
70 ((IDbConnection)con).ChangeDatabase("GHTDB_EX");
71 Compare(((IDbConnection)con).Database , "GHTDB_EX");
73 catch(Exception ex){exp = ex;}
74 finally{EndCase(exp); exp = null;}
78 BeginCase("Check DataBase Changed ");
79 OracleCommand cmd = new OracleCommand("select count(*) from Customers", con);
80 object obj = cmd.ExecuteScalar();
81 Compare(obj != null, true);
83 catch(Exception ex){exp = ex;}
84 finally{EndCase(exp); exp = null;}
86 if (con.State == ConnectionState.Open) con.Close();
92 //public TestClass():base(true){}
94 //Activate this constructor to log Failures to a log file
95 //public TestClass(System.IO.TextWriter tw):base(tw, false){}
97 //Activate this constructor to log All to a log file
98 //public TestClass(System.IO.TextWriter tw):base(tw, true){}
100 //BY DEFAULT LOGGING IS DONE TO THE STANDARD OUTPUT ONLY FOR FAILURES