diff options
17 files changed, 978 insertions, 977 deletions
diff --git a/man/sqlsharp.1 b/man/sqlsharp.1 index 3b9b6b37f8a..a8141dd1737 100644 --- a/man/sqlsharp.1 +++ b/man/sqlsharp.1 @@ -464,7 +464,7 @@ the file is created: Oracle via System.Data.OracleClient - Data Source=testdb;User ID=scott;Password=tiger + Data Source=testdb;User ID=scott;Password=PLACEHOLDER If you prefer to not use a tnsnames.ora file, you can use a connection string which allows a diff --git a/mcs/class/System.Configuration/Test/System.Configuration/ConfigurationManagerTest.cs b/mcs/class/System.Configuration/Test/System.Configuration/ConfigurationManagerTest.cs index 0b5b3cde0dc..c53fc3614cf 100644 --- a/mcs/class/System.Configuration/Test/System.Configuration/ConfigurationManagerTest.cs +++ b/mcs/class/System.Configuration/Test/System.Configuration/ConfigurationManagerTest.cs @@ -618,7 +618,7 @@ namespace MonoTests.System.Configuration { Assert.IsNotNull (connStringObj); var connString = connStringObj.ConnectionString; Assert.IsFalse (String.IsNullOrEmpty (connString)); - Assert.AreEqual ("Server=(local);Initial Catalog=someDb;User Id=someUser;Password=somePassword;Application Name=someAppName;Min Pool Size=5;Max Pool Size=500;Connect Timeout=10;Connection Lifetime=29;", + Assert.AreEqual ("Server=(local);Initial Catalog=someDb;User Id=someUser;Password=PLACEHOLDER;Application Name=someAppName;Min Pool Size=5;Max Pool Size=500;Connect Timeout=10;Connection Lifetime=29;", connString); } diff --git a/mcs/class/System.Configuration/Test/test-config-file b/mcs/class/System.Configuration/Test/test-config-file index 462d45aeb2b..4fef8992967 100644 --- a/mcs/class/System.Configuration/Test/test-config-file +++ b/mcs/class/System.Configuration/Test/test-config-file @@ -1,5 +1,5 @@ <connectionStrings> <add name="test-connstring" - connectionString="Server=(local);Initial Catalog=someDb;User Id=someUser;Password=somePassword;Application Name=someAppName;Min Pool Size=5;Max Pool Size=500;Connect Timeout=10;Connection Lifetime=29;" /> + connectionString="Server=(local);Initial Catalog=someDb;User Id=someUser;Password=PLACEHOLDER;Application Name=someAppName;Min Pool Size=5;Max Pool Size=500;Connect Timeout=10;Connection Lifetime=29;" /> </connectionStrings> <appSettings file="System.Configuration-appSettings.config" /> diff --git a/mcs/class/System.Data.Linq/examples/DbLinq.Ora.Example/Program.cs b/mcs/class/System.Data.Linq/examples/DbLinq.Ora.Example/Program.cs index 42041ed52bd..d5dc902c064 100644 --- a/mcs/class/System.Data.Linq/examples/DbLinq.Ora.Example/Program.cs +++ b/mcs/class/System.Data.Linq/examples/DbLinq.Ora.Example/Program.cs @@ -48,7 +48,7 @@ namespace nwind {
static void Main(string[] args)
{
- string connStr = "server=localhost;user=Northwind;password=linq2";
+ string connStr = "server=localhost;user=Northwind;password=PLACEHOLDER";
insertTest(connStr);
return;
@@ -89,8 +89,8 @@ namespace nwind string sql = "BEGIN insert INTO t1 (id1) values (t1_seq.NextVal);\n select t1_seq.CurrVal INTO :1 FROM DUAL; END;";
#if ORACLE_PROVIDER
//Oracle provider - download from http://www.oracle.com/technology/software/tech/windows/odpnet/utilsoft_11gbeta.html
- //Oracle provider (check via TNSPING): "User Id=Scott;Password=tiger;Data Source=orcl9i"
- connStr = "User Id=Northwind;Password=linq2;Data Source=XE";
+ //Oracle provider (check via TNSPING): "User Id=Scott;Password=PLACEHOLDER;Data Source=orcl9i"
+ connStr = "User Id=Northwind;Password=PLACEHOLDER;Data Source=XE";
#else
//Microsoft provider: System.Data.OracleClient
//see http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1055859&SiteID=1
@@ -142,7 +142,7 @@ namespace nwind // string sql = @"SELECT ProductID FROM products WHERE ProductName=:p1"; //returns no rows
// //string sql = @"SELECT * FROM USER_ALL_TABLES"; //returns many rows
- // OracleConnection conn = new OracleConnection("server=localhost;user=system;password=linq2");
+ // OracleConnection conn = new OracleConnection("server=localhost;user=system;password=PLACEHOLDER");
// conn.Open();
// OracleCommand cmd = new OracleCommand(sql,conn);
// cmd.Parameters.Add(":p1", "Pen");
diff --git a/mcs/class/System.Data.Linq/examples/DbLinq.Pgsql.Example/PgAndrusClient.cs b/mcs/class/System.Data.Linq/examples/DbLinq.Pgsql.Example/PgAndrusClient.cs index 63a3dae2190..a1e7dd6a209 100644 --- a/mcs/class/System.Data.Linq/examples/DbLinq.Pgsql.Example/PgAndrusClient.cs +++ b/mcs/class/System.Data.Linq/examples/DbLinq.Pgsql.Example/PgAndrusClient.cs @@ -45,7 +45,7 @@ namespace ClientCodePg Console.WriteLine("newExpr=" + newExpr);
- string connStr = "server=localhost;user id=LinqUser; password=linq2; database=andrus";
+ string connStr = "server=localhost;user id=LinqUser; password=PLACEHOLDER; database=andrus";
using (Andrus db = new Andrus(connStr))
{
diff --git a/mcs/class/System.Data.Linq/examples/DbLinq.Pgsql.Example/ProgramPg.cs b/mcs/class/System.Data.Linq/examples/DbLinq.Pgsql.Example/ProgramPg.cs index f6aa1f859f1..6cbc2237239 100644 --- a/mcs/class/System.Data.Linq/examples/DbLinq.Pgsql.Example/ProgramPg.cs +++ b/mcs/class/System.Data.Linq/examples/DbLinq.Pgsql.Example/ProgramPg.cs @@ -41,7 +41,7 @@ namespace ClientCode2 static void Main_(string[] args)
{
- string connStr = "server=localhost;user id=LinqUser; password=linq2; database=northwind";
+ string connStr = "server=localhost;user id=LinqUser; password=PLACEHOLDER; database=northwind";
//NpgsqlConnection conn = new NpgsqlConnection(connStr);
//conn.Open();
////string sql = "INSERT City (Name) VALUES ('B'); SELECT @@IDENTITY";
diff --git a/mcs/class/System.Data.OracleClient/Test/TestOracleClient.cs b/mcs/class/System.Data.OracleClient/Test/TestOracleClient.cs index dbec9aca65d..371d11c8181 100644 --- a/mcs/class/System.Data.OracleClient/Test/TestOracleClient.cs +++ b/mcs/class/System.Data.OracleClient/Test/TestOracleClient.cs @@ -32,9 +32,9 @@ namespace Test.OracleClient { public class OracleTest { - private static Thread t = null;
- private static string conStr;
- public static readonly int MAX_CONNECTIONS = 30; // max connections default to 100, but I will set to 30.
+ private static Thread t = null; + private static string conStr; + public static readonly int MAX_CONNECTIONS = 30; // max connections default to 100, but I will set to 30. public OracleTest() { @@ -400,25 +400,25 @@ namespace Test.OracleClient } } - public static void DataAdapterTest2 (OracleConnection con)
- {
- DataAdapterTest2_Setup (con);
- ReadSimpleTest (con, "SELECT * FROM mono_adapter_test");
-
- GetMetaData (con, "SELECT * FROM mono_adapter_test");
-
- DataAdapterTest2_Insert (con);
- ReadSimpleTest (con, "SELECT * FROM mono_adapter_test");
-
- DataAdapterTest2_Update (con);
- ReadSimpleTest (con, "SELECT * FROM mono_adapter_test");
-
- DataAdapterTest2_Delete (con);
- ReadSimpleTest (con, "SELECT * FROM mono_adapter_test");
- }
-
- public static void GetMetaData (OracleConnection con, string sql)
- {
+ public static void DataAdapterTest2 (OracleConnection con) + { + DataAdapterTest2_Setup (con); + ReadSimpleTest (con, "SELECT * FROM mono_adapter_test"); + + GetMetaData (con, "SELECT * FROM mono_adapter_test"); + + DataAdapterTest2_Insert (con); + ReadSimpleTest (con, "SELECT * FROM mono_adapter_test"); + + DataAdapterTest2_Update (con); + ReadSimpleTest (con, "SELECT * FROM mono_adapter_test"); + + DataAdapterTest2_Delete (con); + ReadSimpleTest (con, "SELECT * FROM mono_adapter_test"); + } + + public static void GetMetaData (OracleConnection con, string sql) + { OracleCommand cmd = null; OracleDataReader rdr = null; @@ -427,38 +427,38 @@ namespace Test.OracleClient Console.WriteLine("Read Schema With KeyInfo"); rdr = cmd.ExecuteReader(CommandBehavior.KeyInfo | CommandBehavior.SchemaOnly); -
- DataTable dt;
- dt = rdr.GetSchemaTable();
- foreach (DataRow schemaRow in dt.Rows) {
- foreach (DataColumn schemaCol in dt.Columns) {
- Console.WriteLine(schemaCol.ColumnName +
- " = " +
- schemaRow[schemaCol]);
- Console.WriteLine("---Type: " + schemaRow[schemaCol].GetType ().ToString());
- }
- Console.WriteLine("");
- }
-
- Console.WriteLine("Read Schema with No KeyInfo");
-
+ + DataTable dt; + dt = rdr.GetSchemaTable(); + foreach (DataRow schemaRow in dt.Rows) { + foreach (DataColumn schemaCol in dt.Columns) { + Console.WriteLine(schemaCol.ColumnName + + " = " + + schemaRow[schemaCol]); + Console.WriteLine("---Type: " + schemaRow[schemaCol].GetType ().ToString()); + } + Console.WriteLine(""); + } + + Console.WriteLine("Read Schema with No KeyInfo"); + rdr = cmd.ExecuteReader(); -
- dt = rdr.GetSchemaTable();
- foreach (DataRow schemaRow in dt.Rows) {
- foreach (DataColumn schemaCol in dt.Columns) {
- Console.WriteLine(schemaCol.ColumnName +
- " = " +
- schemaRow[schemaCol]);
- Console.WriteLine("---Type: " + schemaRow[schemaCol].GetType ().ToString());
- Console.WriteLine();
- }
- }
-
- }
-
- public static void DataAdapterTest2_Setup (OracleConnection con)
- {
+ + dt = rdr.GetSchemaTable(); + foreach (DataRow schemaRow in dt.Rows) { + foreach (DataColumn schemaCol in dt.Columns) { + Console.WriteLine(schemaCol.ColumnName + + " = " + + schemaRow[schemaCol]); + Console.WriteLine("---Type: " + schemaRow[schemaCol].GetType ().ToString()); + Console.WriteLine(); + } + } + + } + + public static void DataAdapterTest2_Setup (OracleConnection con) + { Console.WriteLine (" Drop table mono_adapter_test ..."); try { OracleCommand cmd2 = con.CreateCommand (); @@ -553,8 +553,8 @@ namespace Test.OracleClient " EMPTY_BLOB() " + ")"; */ - cmd.ExecuteNonQuery();
-
+ cmd.ExecuteNonQuery(); + Console.WriteLine(" Select/Update CLOB columns on table mono_adapter_test..."); // update BLOB and CLOB columns @@ -584,83 +584,83 @@ namespace Test.OracleClient Console.WriteLine(" Commit trans for table mono_adapter_test..."); trans.Commit (); - CommitCursor (con);
- }
-
+ CommitCursor (con); + } + public static void DataAdapterTest2_Insert (OracleConnection con) { - Console.WriteLine("================================");
+ Console.WriteLine("================================"); Console.WriteLine("=== Adapter Insert ============="); - Console.WriteLine("================================");
+ Console.WriteLine("================================"); OracleTransaction transaction = con.BeginTransaction (); -
- Console.WriteLine(" Create adapter...");
+ + Console.WriteLine(" Create adapter..."); OracleDataAdapter da = new OracleDataAdapter("select * from mono_adapter_test", con); da.SelectCommand.Transaction = transaction; -
- Console.WriteLine(" Create command builder...");
+ + Console.WriteLine(" Create command builder..."); OracleCommandBuilder mycb = new OracleCommandBuilder(da); -
- Console.WriteLine(" Create data set ...");
- DataSet ds = new DataSet();
+ + Console.WriteLine(" Create data set ..."); + DataSet ds = new DataSet(); - Console.WriteLine(" Fill data set via adapter...");
- da.Fill(ds, "mono_adapter_test");
-
+ Console.WriteLine(" Fill data set via adapter..."); + da.Fill(ds, "mono_adapter_test"); + Console.WriteLine(" New Row..."); - DataRow myRow;
+ DataRow myRow; myRow = ds.Tables["mono_adapter_test"].NewRow(); -
- byte[] bytes = new byte[] { 0x45,0x46,0x47,0x48,0x49,0x50 };
-
- Console.WriteLine(" Set values in the new DataRow...");
- myRow["varchar2_value"] = "OracleClient";
- myRow["number_whole_value"] = 22;
- myRow["number_scaled_value"] = 12.34;
- myRow["number_integer_value"] = 456;
- myRow["float_value"] = 98.76;
- myRow["date_value"] = new DateTime(2001,07,09);
- Console.WriteLine(" *** FIXME; char value not working");
- //myRow["char_value"] = "Romeo";
- myRow["clob_value"] = "clobtest";
- myRow["blob_value"] = bytes;
-
- Console.WriteLine(" Add DataRow to DataTable...");
+ + byte[] bytes = new byte[] { 0x45,0x46,0x47,0x48,0x49,0x50 }; + + Console.WriteLine(" Set values in the new DataRow..."); + myRow["varchar2_value"] = "OracleClient"; + myRow["number_whole_value"] = 22; + myRow["number_scaled_value"] = 12.34; + myRow["number_integer_value"] = 456; + myRow["float_value"] = 98.76; + myRow["date_value"] = new DateTime(2001,07,09); + Console.WriteLine(" *** FIXME; char value not working"); + //myRow["char_value"] = "Romeo"; + myRow["clob_value"] = "clobtest"; + myRow["blob_value"] = bytes; + + Console.WriteLine(" Add DataRow to DataTable..."); ds.Tables["mono_adapter_test"].Rows.Add(myRow); -
- Console.WriteLine("da.Update(ds...");
- da.Update(ds, "mono_adapter_test");
-
+ + Console.WriteLine("da.Update(ds..."); + da.Update(ds, "mono_adapter_test"); + transaction.Commit(); mycb.Dispose(); mycb = null; } -
+ public static void DataAdapterTest2_Update (OracleConnection con) { - Console.WriteLine("================================");
+ Console.WriteLine("================================"); Console.WriteLine("=== Adapter Update ============="); - Console.WriteLine("================================");
-
+ Console.WriteLine("================================"); + OracleTransaction transaction = con.BeginTransaction (); -
- Console.WriteLine(" Create adapter...");
+ + Console.WriteLine(" Create adapter..."); OracleCommand selectCmd = con.CreateCommand (); - selectCmd.Transaction = transaction;
- selectCmd.CommandText = "SELECT * FROM mono_adapter_test";
- OracleDataAdapter da = new OracleDataAdapter(selectCmd);
- Console.WriteLine(" Create command builder...");
- OracleCommandBuilder mycb = new OracleCommandBuilder(da);
- Console.WriteLine(" Create data set ...");
- DataSet ds = new DataSet();
-
- Console.WriteLine(" Set missing schema action...");
-
- Console.WriteLine(" Fill data set via adapter...");
- da.Fill(ds, "mono_adapter_test");
- DataRow myRow;
-
+ selectCmd.Transaction = transaction; + selectCmd.CommandText = "SELECT * FROM mono_adapter_test"; + OracleDataAdapter da = new OracleDataAdapter(selectCmd); + Console.WriteLine(" Create command builder..."); + OracleCommandBuilder mycb = new OracleCommandBuilder(da); + Console.WriteLine(" Create data set ..."); + DataSet ds = new DataSet(); + + Console.WriteLine(" Set missing schema action..."); + + Console.WriteLine(" Fill data set via adapter..."); + da.Fill(ds, "mono_adapter_test"); + DataRow myRow; + Console.WriteLine(" New Row..."); myRow = ds.Tables["mono_adapter_test"].Rows[0]; @@ -670,151 +670,151 @@ namespace Test.OracleClient DataRowCollection rows; rows = table.Rows; Console.WriteLine(" Row Count: " + rows.Count.ToString()); - myRow = rows[0];
-
- byte[] bytes = new byte[] { 0x62,0x63,0x64,0x65,0x66,0x67 };
-
- Console.WriteLine(" Set values in the new DataRow...");
- - myRow["varchar2_value"] = "Super Power!";
-
- myRow["number_scaled_value"] = 12.35;
- myRow["number_integer_value"] = 457;
- myRow["float_value"] = 198.76;
- myRow["date_value"] = new DateTime(2002,08,09);
- //myRow["char_value"] = "Juliet";
- myRow["clob_value"] = "this is a clob";
+ myRow = rows[0]; + + byte[] bytes = new byte[] { 0x62,0x63,0x64,0x65,0x66,0x67 }; + + Console.WriteLine(" Set values in the new DataRow..."); + + myRow["varchar2_value"] = "Super Power!"; + + myRow["number_scaled_value"] = 12.35; + myRow["number_integer_value"] = 457; + myRow["float_value"] = 198.76; + myRow["date_value"] = new DateTime(2002,08,09); + //myRow["char_value"] = "Juliet"; + myRow["clob_value"] = "this is a clob"; myRow["blob_value"] = bytes; -
- Console.WriteLine("da.Update(ds...");
- da.Update(ds, "mono_adapter_test");
-
+ + Console.WriteLine("da.Update(ds..."); + da.Update(ds, "mono_adapter_test"); + transaction.Commit(); mycb.Dispose(); mycb = null; - }
-
+ } + public static void DataAdapterTest2_Delete (OracleConnection con) { - Console.WriteLine("================================");
+ Console.WriteLine("================================"); Console.WriteLine("=== Adapter Delete ============="); - Console.WriteLine("================================");
+ Console.WriteLine("================================"); OracleTransaction transaction = con.BeginTransaction (); -
- Console.WriteLine(" Create adapter...");
+ + Console.WriteLine(" Create adapter..."); OracleDataAdapter da = new OracleDataAdapter("SELECT * FROM mono_adapter_test", con); Console.WriteLine(" Create command builder..."); OracleCommandBuilder mycb = new OracleCommandBuilder(da); Console.WriteLine(" set transr..."); da.SelectCommand.Transaction = transaction; - Console.WriteLine(" Create data set ...");
- DataSet ds = new DataSet();
-
- Console.WriteLine("Fill data set via adapter...");
- da.Fill(ds, "mono_adapter_test");
-
+ Console.WriteLine(" Create data set ..."); + DataSet ds = new DataSet(); + + Console.WriteLine("Fill data set via adapter..."); + da.Fill(ds, "mono_adapter_test"); + Console.WriteLine("delete row..."); ds.Tables["mono_adapter_test"].Rows[0].Delete(); - Console.WriteLine("da.Update(table...");
- da.Update(ds, "mono_adapter_test");
-
- Console.WriteLine("Commit...");
+ Console.WriteLine("da.Update(table..."); + da.Update(ds, "mono_adapter_test"); + + Console.WriteLine("Commit..."); transaction.Commit(); mycb.Dispose(); - mycb = null;
+ mycb = null; } - static void TestNonQueryUsingExecuteReader(OracleConnection con)
- {
- OracleDataReader reader = null;
- OracleTransaction trans = null;
-
- Console.WriteLine(" drop table mono_adapter_test...");
- OracleCommand cmd = con.CreateCommand();
-
- cmd.CommandText = "DROP TABLE MONO_ADAPTER_TEST";
- trans = con.BeginTransaction();
- cmd.Transaction = trans;
- try {
- reader = cmd.ExecuteReader();
- Console.WriteLine(" RowsAffected before read: " + reader.RecordsAffected.ToString());
- reader.Read();
- Console.WriteLine(" RowsAffected after read: " + reader.RecordsAffected.ToString());
- reader.Close();
- Console.WriteLine(" RowsAffected after close: " + reader.RecordsAffected.ToString());
- trans.Commit();
- }
- catch(OracleException e) {
- Console.WriteLine(" OracleException caught: " + e.Message);
- trans.Commit();
- }
-
- Console.WriteLine(" Create table mono_adapter_test...");
+ static void TestNonQueryUsingExecuteReader(OracleConnection con) + { + OracleDataReader reader = null; + OracleTransaction trans = null; + + Console.WriteLine(" drop table mono_adapter_test..."); + OracleCommand cmd = con.CreateCommand(); + + cmd.CommandText = "DROP TABLE MONO_ADAPTER_TEST"; + trans = con.BeginTransaction(); + cmd.Transaction = trans; + try { + reader = cmd.ExecuteReader(); + Console.WriteLine(" RowsAffected before read: " + reader.RecordsAffected.ToString()); + reader.Read(); + Console.WriteLine(" RowsAffected after read: " + reader.RecordsAffected.ToString()); + reader.Close(); + Console.WriteLine(" RowsAffected after close: " + reader.RecordsAffected.ToString()); + trans.Commit(); + } + catch(OracleException e) { + Console.WriteLine(" OracleException caught: " + e.Message); + trans.Commit(); + } + + Console.WriteLine(" Create table mono_adapter_test..."); cmd.CommandText = "CREATE TABLE MONO_ADAPTER_TEST ( " + " varchar2_value VarChar2(32), " + - " number_whole_value Number(18,0) PRIMARY KEY ) ";
- trans = con.BeginTransaction();
- cmd.Transaction = trans;
- reader = cmd.ExecuteReader();
- Console.WriteLine(" RowsAffected before read: " + reader.RecordsAffected.ToString());
- reader.Read();
- Console.WriteLine(" RowsAffected after read: " + reader.RecordsAffected.ToString());
- reader.Close();
- Console.WriteLine(" RowsAffected after close: " + reader.RecordsAffected.ToString());
- trans.Commit();
-
- Console.WriteLine("Insert into table mono_adapter_test...");
-
- string sql =
- "INSERT INTO MONO_ADAPTER_TEST " +
- "(VARCHAR2_VALUE,NUMBER_WHOLE_VALUE) " +
- "VALUES(:p1,:p2)";
-
- OracleCommand cmd2 = con.CreateCommand();
- trans = con.BeginTransaction();
- cmd2.Transaction = trans;
- cmd2.CommandText = sql;
-
+ " number_whole_value Number(18,0) PRIMARY KEY ) "; + trans = con.BeginTransaction(); + cmd.Transaction = trans; + reader = cmd.ExecuteReader(); + Console.WriteLine(" RowsAffected before read: " + reader.RecordsAffected.ToString()); + reader.Read(); + Console.WriteLine(" RowsAffected after read: " + reader.RecordsAffected.ToString()); + reader.Close(); + Console.WriteLine(" RowsAffected after close: " + reader.RecordsAffected.ToString()); + trans.Commit(); + + Console.WriteLine("Insert into table mono_adapter_test..."); + + string sql = + "INSERT INTO MONO_ADAPTER_TEST " + + "(VARCHAR2_VALUE,NUMBER_WHOLE_VALUE) " + + "VALUES(:p1,:p2)"; + + OracleCommand cmd2 = con.CreateCommand(); + trans = con.BeginTransaction(); + cmd2.Transaction = trans; + cmd2.CommandText = sql; + OracleParameter myParameter1 = new OracleParameter("p1", OracleType.VarChar, 32); - myParameter1.Direction = ParameterDirection.Input;
-
- OracleParameter myParameter2 = new OracleParameter("p2", OracleType.Number);
- myParameter2.Direction = ParameterDirection.Input;
-
- myParameter2.Value = 182;
- myParameter1.Value = "Mono";
-
- cmd2.Parameters.Add (myParameter1);
- cmd2.Parameters.Add (myParameter2);
-
- // insert 1 record
- reader = cmd2.ExecuteReader();
- Console.WriteLine(" RowsAffected before read: " + reader.RecordsAffected.ToString());
- reader.Read();
- Console.WriteLine(" RowsAffected after read: " + reader.RecordsAffected.ToString());
- reader.Close();
- Console.WriteLine(" RowsAffected after close: " + reader.RecordsAffected.ToString());
-
- // insert another record
- Console.WriteLine(" Insert another record...");
- myParameter2.Value = 183;
- myParameter1.Value = "Oracle";
- reader = cmd2.ExecuteReader();
- Console.WriteLine(" RowsAffected before read: " + reader.RecordsAffected.ToString());
- reader.Read();
- Console.WriteLine(" RowsAffected after read: " + reader.RecordsAffected.ToString());
- reader.Close();
- Console.WriteLine(" RowsAffected after close: " + reader.RecordsAffected.ToString());
-
- trans.Commit();
- trans = null;
-
- ReadSimpleTest(con, "SELECT * FROM MONO_ADAPTER_TEST");
- }
+ myParameter1.Direction = ParameterDirection.Input; + + OracleParameter myParameter2 = new OracleParameter("p2", OracleType.Number); + myParameter2.Direction = ParameterDirection.Input; + + myParameter2.Value = 182; + myParameter1.Value = "Mono"; + + cmd2.Parameters.Add (myParameter1); + cmd2.Parameters.Add (myParameter2); + + // insert 1 record + reader = cmd2.ExecuteReader(); + Console.WriteLine(" RowsAffected before read: " + reader.RecordsAffected.ToString()); + reader.Read(); + Console.WriteLine(" RowsAffected after read: " + reader.RecordsAffected.ToString()); + reader.Close(); + Console.WriteLine(" RowsAffected after close: " + reader.RecordsAffected.ToString()); + + // insert another record + Console.WriteLine(" Insert another record..."); + myParameter2.Value = 183; + myParameter1.Value = "Oracle"; + reader = cmd2.ExecuteReader(); + Console.WriteLine(" RowsAffected before read: " + reader.RecordsAffected.ToString()); + reader.Read(); + Console.WriteLine(" RowsAffected after read: " + reader.RecordsAffected.ToString()); + reader.Close(); + Console.WriteLine(" RowsAffected after close: " + reader.RecordsAffected.ToString()); + + trans.Commit(); + trans = null; + + ReadSimpleTest(con, "SELECT * FROM MONO_ADAPTER_TEST"); + } static void CommitCursor (OracleConnection con) { @@ -823,7 +823,7 @@ namespace Test.OracleClient cmd.ExecuteNonQuery (); cmd.Dispose (); cmd = null; - }
+ } static void RollbackTest (OracleConnection connection) { @@ -895,13 +895,13 @@ namespace Test.OracleClient public static void ParameterTest2 (OracleConnection connection) { - Console.WriteLine(" Setting NLS_DATE_FORMAT...");
-
- OracleCommand cmd2 = connection.CreateCommand();
- cmd2.CommandText = "ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'";
-
- cmd2.ExecuteNonQuery ();
-
+ Console.WriteLine(" Setting NLS_DATE_FORMAT..."); + + OracleCommand cmd2 = connection.CreateCommand(); + cmd2.CommandText = "ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'"; + + cmd2.ExecuteNonQuery (); + Console.WriteLine(" Drop table MONO_TEST_TABLE2..."); try { cmd2.CommandText = "DROP TABLE MONO_TEST_TABLE7"; @@ -932,75 +932,75 @@ namespace Test.OracleClient cmd2.ExecuteNonQuery (); Console.WriteLine(" create insert command..."); -
- OracleTransaction trans = connection.BeginTransaction ();
- OracleCommand cmd = connection.CreateCommand ();
- cmd.Transaction = trans;
- - cmd.CommandText = "INSERT INTO MONO_TEST_TABLE7 " +
- "(COL1,COL2,COL3,COL4,COL5,COL6,COL7,COL8,COL9,COL10) " +
- "VALUES(:P1,:P2,:P3,:P4,:P5,:P6,:P7,:P8,:P9,:P10)";
-
- Console.WriteLine(" Add parameters...");
-
- OracleParameter parm1 = cmd.Parameters.Add (":P1", OracleType.VarChar, 8);
- OracleParameter parm2 = cmd.Parameters.Add (":P2", OracleType.VarChar, 32);
-
- OracleParameter parm3 = cmd.Parameters.Add (":P3", OracleType.Number);
- OracleParameter parm4 = cmd.Parameters.Add (":P4", OracleType.Number);
-
- OracleParameter parm5 = cmd.Parameters.Add (":P5", OracleType.DateTime);
- OracleParameter parm6 = cmd.Parameters.Add (":P6", OracleType.DateTime);
-
- // FIXME: fix BLOBs and CLOBs in OracleParameter
-
- OracleParameter parm7 = cmd.Parameters.Add (":P7", OracleType.Blob);
- OracleParameter parm8 = cmd.Parameters.Add (":P8", OracleType.Blob);
-
- OracleParameter parm9 = cmd.Parameters.Add (":P9", OracleType.Clob);
- OracleParameter parm10 = cmd.Parameters.Add (":P10", OracleType.Clob);
-
- // TODO: implement out, return, and ref parameters
-
- string s = "Mono";
- decimal d = 123456789012345.678M;
- DateTime dt = DateTime.Now;
-
- string clob = "Clob";
- byte[] blob = new byte[] { 0x31, 0x32, 0x33, 0x34, 0x35 };
-
- Console.WriteLine(" Set Values...");
-
- parm1.Value = s;
- parm2.Value = DBNull.Value;
-
- parm3.Value = d;
- parm4.Value = DBNull.Value;
-
- parm5.Value = dt;
- parm6.Value = DBNull.Value;
-
- parm7.Value = blob;
- parm8.Value = DBNull.Value;
-
- parm9.Value = clob;
- parm10.Value = DBNull.Value;
-
- Console.WriteLine(" ExecuteNonQuery...");
-
- cmd.ExecuteNonQuery ();
+ + OracleTransaction trans = connection.BeginTransaction (); + OracleCommand cmd = connection.CreateCommand (); + cmd.Transaction = trans; + + cmd.CommandText = "INSERT INTO MONO_TEST_TABLE7 " + + "(COL1,COL2,COL3,COL4,COL5,COL6,COL7,COL8,COL9,COL10) " + + "VALUES(:P1,:P2,:P3,:P4,:P5,:P6,:P7,:P8,:P9,:P10)"; + + Console.WriteLine(" Add parameters..."); + + OracleParameter parm1 = cmd.Parameters.Add (":P1", OracleType.VarChar, 8); + OracleParameter parm2 = cmd.Parameters.Add (":P2", OracleType.VarChar, 32); + + OracleParameter parm3 = cmd.Parameters.Add (":P3", OracleType.Number); + OracleParameter parm4 = cmd.Parameters.Add (":P4", OracleType.Number); + + OracleParameter parm5 = cmd.Parameters.Add (":P5", OracleType.DateTime); + OracleParameter parm6 = cmd.Parameters.Add (":P6", OracleType.DateTime); + + // FIXME: fix BLOBs and CLOBs in OracleParameter + + OracleParameter parm7 = cmd.Parameters.Add (":P7", OracleType.Blob); + OracleParameter parm8 = cmd.Parameters.Add (":P8", OracleType.Blob); + + OracleParameter parm9 = cmd.Parameters.Add (":P9", OracleType.Clob); + OracleParameter parm10 = cmd.Parameters.Add (":P10", OracleType.Clob); + + // TODO: implement out, return, and ref parameters + + string s = "Mono"; + decimal d = 123456789012345.678M; + DateTime dt = DateTime.Now; + + string clob = "Clob"; + byte[] blob = new byte[] { 0x31, 0x32, 0x33, 0x34, 0x35 }; + + Console.WriteLine(" Set Values..."); + + parm1.Value = s; + parm2.Value = DBNull.Value; + + parm3.Value = d; + parm4.Value = DBNull.Value; + + parm5.Value = dt; + parm6.Value = DBNull.Value; + + parm7.Value = blob; + parm8.Value = DBNull.Value; + + parm9.Value = clob; + parm10.Value = DBNull.Value; + + Console.WriteLine(" ExecuteNonQuery..."); + + cmd.ExecuteNonQuery (); trans.Commit(); } public static void ParameterTest (OracleConnection connection) { - Console.WriteLine(" Setting NLS_DATE_FORMAT...");
-
- OracleCommand cmd2 = connection.CreateCommand();
- cmd2.CommandText = "ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'";
-
- cmd2.ExecuteNonQuery ();
-
+ Console.WriteLine(" Setting NLS_DATE_FORMAT..."); + + OracleCommand cmd2 = connection.CreateCommand(); + cmd2.CommandText = "ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'"; + + cmd2.ExecuteNonQuery (); + Console.WriteLine(" Drop table MONO_TEST_TABLE2..."); try { cmd2.CommandText = "DROP TABLE MONO_TEST_TABLE7"; @@ -1031,63 +1031,63 @@ namespace Test.OracleClient cmd2.ExecuteNonQuery (); Console.WriteLine(" create insert command..."); -
- OracleTransaction trans = connection.BeginTransaction ();
- OracleCommand cmd = connection.CreateCommand ();
- cmd.Transaction = trans;
- - cmd.CommandText = "INSERT INTO MONO_TEST_TABLE7 " +
- "(COL1,COL2,COL3,COL4,COL5,COL6,COL7,COL8,COL9,COL10) " +
- "VALUES(:P1,:P2,:P3,:P4,:P5,:P6,:P7,:P8,:P9,:P10)";
-
- Console.WriteLine(" Add parameters...");
-
- OracleParameter parm1 = cmd.Parameters.Add (":P1", OracleType.VarChar, 8);
- OracleParameter parm2 = cmd.Parameters.Add (":P2", OracleType.VarChar, 32);
-
- OracleParameter parm3 = cmd.Parameters.Add (":P3", OracleType.Number);
- OracleParameter parm4 = cmd.Parameters.Add (":P4", OracleType.Number);
-
- OracleParameter parm5 = cmd.Parameters.Add (":P5", OracleType.DateTime);
- OracleParameter parm6 = cmd.Parameters.Add (":P6", OracleType.DateTime);
-
- // FIXME: fix BLOBs and CLOBs in OracleParameter
-
- OracleParameter parm7 = cmd.Parameters.Add (":P7", OracleType.Blob);
- OracleParameter parm8 = cmd.Parameters.Add (":P8", OracleType.Blob);
-
- OracleParameter parm9 = cmd.Parameters.Add (":P9", OracleType.Clob);
- OracleParameter parm10 = cmd.Parameters.Add (":P10", OracleType.Clob);
-
- // TODO: implement out, return, and ref parameters
-
- string s = "Mono";
- decimal d = 123456789012345.678M;
- DateTime dt = DateTime.Now;
-
- string clob = "Clob";
- byte[] blob = new byte[] { 0x31, 0x32, 0x33, 0x34, 0x35 };
-
- Console.WriteLine(" Set Values...");
-
- parm1.Value = s;
- parm2.Value = DBNull.Value;
-
- parm3.Value = d;
- parm4.Value = DBNull.Value;
-
- parm5.Value = dt;
- parm6.Value = DBNull.Value;
-
- parm7.Value = blob;
- parm8.Value = DBNull.Value;
-
- parm9.Value = clob;
- parm10.Value = DBNull.Value;
-
- Console.WriteLine(" ExecuteNonQuery...");
-
- cmd.ExecuteNonQuery ();
+ + OracleTransaction trans = connection.BeginTransaction (); + OracleCommand cmd = connection.CreateCommand (); + cmd.Transaction = trans; + + cmd.CommandText = "INSERT INTO MONO_TEST_TABLE7 " + + "(COL1,COL2,COL3,COL4,COL5,COL6,COL7,COL8,COL9,COL10) " + + "VALUES(:P1,:P2,:P3,:P4,:P5,:P6,:P7,:P8,:P9,:P10)"; + + Console.WriteLine(" Add parameters..."); + + OracleParameter parm1 = cmd.Parameters.Add (":P1", OracleType.VarChar, 8); + OracleParameter parm2 = cmd.Parameters.Add (":P2", OracleType.VarChar, 32); + + OracleParameter parm3 = cmd.Parameters.Add (":P3", OracleType.Number); + OracleParameter parm4 = cmd.Parameters.Add (":P4", OracleType.Number); + + OracleParameter parm5 = cmd.Parameters.Add (":P5", OracleType.DateTime); + OracleParameter parm6 = cmd.Parameters.Add (":P6", OracleType.DateTime); + + // FIXME: fix BLOBs and CLOBs in OracleParameter + + OracleParameter parm7 = cmd.Parameters.Add (":P7", OracleType.Blob); + OracleParameter parm8 = cmd.Parameters.Add (":P8", OracleType.Blob); + + OracleParameter parm9 = cmd.Parameters.Add (":P9", OracleType.Clob); + OracleParameter parm10 = cmd.Parameters.Add (":P10", OracleType.Clob); + + // TODO: implement out, return, and ref parameters + + string s = "Mono"; + decimal d = 123456789012345.678M; + DateTime dt = DateTime.Now; + + string clob = "Clob"; + byte[] blob = new byte[] { 0x31, 0x32, 0x33, 0x34, 0x35 }; + + Console.WriteLine(" Set Values..."); + + parm1.Value = s; + parm2.Value = DBNull.Value; + + parm3.Value = d; + parm4.Value = DBNull.Value; + + parm5.Value = dt; + parm6.Value = DBNull.Value; + + parm7.Value = blob; + parm8.Value = DBNull.Value; + + parm9.Value = clob; + parm10.Value = DBNull.Value; + + Console.WriteLine(" ExecuteNonQuery..."); + + cmd.ExecuteNonQuery (); trans.Commit(); } @@ -1318,9 +1318,9 @@ namespace Test.OracleClient cmd2.ExecuteNonQuery (); Console.WriteLine(" Call stored procedure sp_test1..."); - OracleCommand cmd3 = con.CreateCommand ();
- cmd3.CommandType = CommandType.StoredProcedure;
- cmd3.CommandText = "sp_test1";
+ OracleCommand cmd3 = con.CreateCommand (); + cmd3.CommandType = CommandType.StoredProcedure; + cmd3.CommandText = "sp_test1"; cmd3.ExecuteNonQuery (); } @@ -1369,22 +1369,22 @@ namespace Test.OracleClient cmd2.ExecuteNonQuery (); Console.WriteLine(" Call stored procedure SP_TEST2 with two parameters..."); - OracleCommand cmd3 = con.CreateCommand ();
- cmd3.CommandType = CommandType.StoredProcedure;
- cmd3.CommandText = "sp_test2";
-
- OracleParameter myParameter1 = new OracleParameter("parm1", OracleType.VarChar);
- myParameter1.Value = "yyy13";
- myParameter1.Size = 8;
- myParameter1.Direction = ParameterDirection.Input;
-
- OracleParameter myParameter2 = new OracleParameter("parm2", OracleType.VarChar);
- myParameter2.Value = "iii13";
- myParameter2.Size = 32;
- myParameter2.Direction = ParameterDirection.Input;
-
- cmd3.Parameters.Add (myParameter1);
- cmd3.Parameters.Add (myParameter2);
+ OracleCommand cmd3 = con.CreateCommand (); + cmd3.CommandType = CommandType.StoredProcedure; + cmd3.CommandText = "sp_test2"; + + OracleParameter myParameter1 = new OracleParameter("parm1", OracleType.VarChar); + myParameter1.Value = "yyy13"; + myParameter1.Size = 8; + myParameter1.Direction = ParameterDirection.Input; + + OracleParameter myParameter2 = new OracleParameter("parm2", OracleType.VarChar); + myParameter2.Value = "iii13"; + myParameter2.Size = 32; + myParameter2.Direction = ParameterDirection.Input; + + cmd3.Parameters.Add (myParameter1); + cmd3.Parameters.Add (myParameter2); cmd3.ExecuteNonQuery (); } @@ -2300,9 +2300,9 @@ namespace Test.OracleClient { try { Console.WriteLine ("ServerVersion: " + con.ServerVersion); - } catch (System.InvalidOperationException ioe) {
- Console.WriteLine ("InvalidOperationException caught.");
- Console.WriteLine ("Message: " + ioe.Message);
+ } catch (System.InvalidOperationException ioe) { + Console.WriteLine ("InvalidOperationException caught."); + Console.WriteLine ("Message: " + ioe.Message); } Console.WriteLine ("DataSource: " + con.DataSource); @@ -2362,553 +2362,553 @@ namespace Test.OracleClient Console.WriteLine (" No more records."); } - static void OnInfoMessage (object sender, OracleInfoMessageEventArgs e)
- {
- Console.WriteLine("InfoMessage Message: " + e.Message.ToString());
- Console.WriteLine("InfoMessage Code: " + e.Code.ToString());
- Console.WriteLine("InfoMessage Source: " + e.Source.ToString());
+ static void OnInfoMessage (object sender, OracleInfoMessageEventArgs e) + { + Console.WriteLine("InfoMessage Message: " + e.Message.ToString()); + Console.WriteLine("InfoMessage Code: " + e.Code.ToString()); + Console.WriteLine("InfoMessage Source: " + e.Source.ToString()); + } + + static void OnStateChange (object sender, StateChangeEventArgs e) + { + Console.WriteLine("StateChange CurrentSate:" + e.CurrentState.ToString ()); + Console.WriteLine("StateChange OriginalState:" + e.OriginalState.ToString ()); } - static void OnStateChange (object sender, StateChangeEventArgs e)
- {
- Console.WriteLine("StateChange CurrentSate:" + e.CurrentState.ToString ());
- Console.WriteLine("StateChange OriginalState:" + e.OriginalState.ToString ());
+ static void RefCursorTests(OracleConnection con) + { + SetupRefCursorTests(con); // for ref cursor tests 1 thru 3 + RefCursorTest1(con); // using BEGIN/END + RefCursorTest2(con); // using call + RefCursorTest3(con); // using CommandType.StoredProcedure + + RefCursorTest4(con); } - static void RefCursorTests(OracleConnection con)
- {
- SetupRefCursorTests(con); // for ref cursor tests 1 thru 3
- RefCursorTest1(con); // using BEGIN/END
- RefCursorTest2(con); // using call
- RefCursorTest3(con); // using CommandType.StoredProcedure
-
- RefCursorTest4(con);
- }
-
- static void SetupRefCursorTests(OracleConnection con)
- {
- Console.WriteLine("Setup Oracle package curspkg_join...");
-
- OracleCommand cmd = con.CreateCommand();
- - Console.Error.WriteLine(" create or replace package curspkg_join...");
- cmd.CommandText =
- "CREATE OR REPLACE PACKAGE curspkg_join AS\n" +
- "TYPE t_cursor IS REF CURSOR;\n" +
- "Procedure open_join_cursor1 (n_EMPNO IN NUMBER, io_cursor IN OUT t_cursor);\n" +
- "END curspkg_join;";
+ static void SetupRefCursorTests(OracleConnection con) + { + Console.WriteLine("Setup Oracle package curspkg_join..."); + + OracleCommand cmd = con.CreateCommand(); + + Console.Error.WriteLine(" create or replace package curspkg_join..."); + cmd.CommandText = + "CREATE OR REPLACE PACKAGE curspkg_join AS\n" + + "TYPE t_cursor IS REF CURSOR;\n" + + "Procedure open_join_cursor1 (n_EMPNO IN NUMBER, io_cursor IN OUT t_cursor);\n" + + "END curspkg_join;"; cmd.ExecuteNonQuery(); -
+ Console.Error.WriteLine(" create or replace package body curspkg_join..."); - cmd.CommandText =
- "CREATE OR REPLACE PACKAGE BODY curspkg_join AS\n" +
- " Procedure open_join_cursor1 (n_EMPNO IN NUMBER, io_cursor IN OUT t_cursor)\n" +
- " IS\n" +
- " v_cursor t_cursor;\n" +
- " BEGIN\n" +
- " IF n_EMPNO <> 0 THEN\n" +
- " OPEN v_cursor FOR\n" +
- " SELECT EMP.EMPNO, EMP.ENAME, DEPT.DEPTNO, DEPT.DNAME\n" +
- " FROM SCOTT.EMP, SCOTT.DEPT\n" +
- " WHERE EMP.DEPTNO = DEPT.DEPTNO\n" +
- " AND EMP.EMPNO = n_EMPNO;\n" +
- "\n" +
- " ELSE\n" +
- " OPEN v_cursor FOR\n" +
- " SELECT EMP.EMPNO, EMP.ENAME, DEPT.DEPTNO, DEPT.DNAME\n" +
- " FROM SCOTT.EMP, SCOTT.DEPT\n" +
- " WHERE EMP.DEPTNO = DEPT.DEPTNO;\n" +
- "\n" +
- " END IF;\n" +
- " io_cursor := v_cursor;\n" +
- " END open_join_cursor1;\n" +
- "END curspkg_join;";
+ cmd.CommandText = + "CREATE OR REPLACE PACKAGE BODY curspkg_join AS\n" + + " Procedure open_join_cursor1 (n_EMPNO IN NUMBER, io_cursor IN OUT t_cursor)\n" + + " IS\n" + + " v_cursor t_cursor;\n" + + " BEGIN\n" + + " IF n_EMPNO <> 0 THEN\n" + + " OPEN v_cursor FOR\n" + + " SELECT EMP.EMPNO, EMP.ENAME, DEPT.DEPTNO, DEPT.DNAME\n" + + " FROM SCOTT.EMP, SCOTT.DEPT\n" + + " WHERE EMP.DEPTNO = DEPT.DEPTNO\n" + + " AND EMP.EMPNO = n_EMPNO;\n" + + "\n" + + " ELSE\n" + + " OPEN v_cursor FOR\n" + + " SELECT EMP.EMPNO, EMP.ENAME, DEPT.DEPTNO, DEPT.DNAME\n" + + " FROM SCOTT.EMP, SCOTT.DEPT\n" + + " WHERE EMP.DEPTNO = DEPT.DEPTNO;\n" + + "\n" + + " END IF;\n" + + " io_cursor := v_cursor;\n" + + " END open_join_cursor1;\n" + + "END curspkg_join;"; cmd.ExecuteNonQuery(); - cmd.CommandText = "commit";
- cmd.ExecuteNonQuery();
- }
-
- public static void RefCursorTest4(OracleConnection connection)
- {
- Console.WriteLine("Setup test package and data for RefCursorTest4...");
- OracleCommand cmddrop = connection.CreateCommand();
-
- cmddrop.CommandText = "DROP TABLE TESTTABLE";
- try {
- cmddrop.ExecuteNonQuery();
- }
- catch(OracleException e) {
- Console.WriteLine("Ignore this error: " + e.Message);
- }
- cmddrop.Dispose();
- cmddrop = null;
-
- OracleCommand cmd = connection.CreateCommand();
-
- // create table TESTTABLE
- cmd.CommandText =
- "create table TESTTABLE (\n" +
- " col1 numeric(18,0),\n" +
- " col2 char(32),\n" +
- " col3 date)";
- cmd.ExecuteNonQuery();
-
- // insert some rows into TESTTABLE
- cmd.CommandText =
- "insert into TESTTABLE\n" +
- "(col1, col2, col3)\n" +
- "values(45, 'Mono', sysdate)";
- cmd.ExecuteNonQuery();
-
- cmd.CommandText =
- "insert into TESTTABLE\n" +
- "(col1, col2, col3)\n" +
- "values(136, 'Fun', sysdate)";
- cmd.ExecuteNonQuery();
-
- cmd.CommandText =
- "insert into TESTTABLE\n" +
- "(col1, col2, col3)\n" +
- "values(526, 'System.Data.OracleClient', sysdate)";
- cmd.ExecuteNonQuery();
-
- cmd.CommandText = "commit";
- cmd.ExecuteNonQuery();
-
- // create Oracle package TestTablePkg
- cmd.CommandText =
- "CREATE OR REPLACE PACKAGE TestTablePkg\n" +
- "AS\n" +
- " TYPE T_CURSOR IS REF CURSOR;\n" +
- "\n" +
- " PROCEDURE GetData(tableCursor OUT T_CURSOR);\n" +
- "END TestTablePkg;";
- cmd.ExecuteNonQuery();
-
- // create Oracle package body for package TestTablePkg
- cmd.CommandText =
- "CREATE OR REPLACE PACKAGE BODY TestTablePkg AS\n" +
- " PROCEDURE GetData(tableCursor OUT T_CURSOR)\n" +
- " IS\n" +
- " BEGIN\n" +
- " OPEN tableCursor FOR\n" +
- " SELECT *\n" +
- " FROM TestTable;\n" +
- " END GetData;\n" +
- "END TestTablePkg;";
- cmd.ExecuteNonQuery();
-
- cmd.Dispose();
- cmd = null;
-
- Console.WriteLine("Set up command and parameters to call stored proc...");
- OracleCommand command = new OracleCommand("TestTablePkg.GetData", connection);
- command.CommandType = CommandType.StoredProcedure;
- OracleParameter parameter = new OracleParameter("tableCursor", OracleType.Cursor);
- parameter.Direction = ParameterDirection.Output;
- command.Parameters.Add(parameter);
-
- Console.WriteLine("Execute...");
- command.ExecuteNonQuery();
-
- Console.WriteLine("Get OracleDataReader for cursor output parameter...");
- OracleDataReader reader = (OracleDataReader) parameter.Value;
-
- Console.WriteLine("Read data...");
- int r = 0;
- while (reader.Read()) {
- Console.WriteLine("Row {0}", r);
- for (int f = 0; f < reader.FieldCount; f ++) {
- object val = reader.GetValue(f);
- Console.WriteLine(" Field {0} Value: {1}", f, val.ToString());
- }
- r ++;
- }
- Console.WriteLine("Rows retrieved: {0}", r);
-
- Console.WriteLine("Clean up...");
- reader.Close();
- reader = null;
- command.Dispose();
- command = null;
- }
-
- static void RefCursorTest1(OracleConnection con)
- {
- Console.WriteLine("Ref Cursor Test 1 - using BEGIN/END for proc - Begin...");
-
- Console.WriteLine("Create command...");
- OracleCommand cmd = new OracleCommand();
- cmd.Connection = con;
-
- cmd.CommandText =
- "BEGIN\n" +
- " curspkg_join.open_join_cursor1(:n_Empno,:io_cursor);\n" +
- "END;";
-
- // PL/SQL definition of stored procedure in package curspkg_join
- // open_join_cursor1 (n_EMPNO IN NUMBER, io_cursor IN OUT t_cursor)
-
- Console.WriteLine("Create parameters...");
-
- OracleParameter parm1 = new OracleParameter("n_Empno", OracleType.Number);
- parm1.Direction = ParameterDirection.Input;
- parm1.Value = 7902;
-
- OracleParameter parm2 = new OracleParameter("io_cursor", OracleType.Cursor);
- parm2.Direction = ParameterDirection.Output;
-
- cmd.Parameters.Add(parm1);
- cmd.Parameters.Add(parm2);
-
- // positional parm
- //cmd.Parameters.Add(new OracleParameter("io_cursor", OracleType.Cursor)).Direction = ParameterDirection.Output;
- // named parm
- //cmd.Parameters.Add("n_Empno", OracleType.Number, 4).Value = 7902;
-
- OracleDataReader reader;
- Console.WriteLine("Execute Non Query...");
- cmd.ExecuteNonQuery();
-
- Console.WriteLine("Get data reader (ref cursor) from out parameter...");
- reader = (OracleDataReader) cmd.Parameters["io_cursor"].Value;
-
- int x, count;
- count = 0;
-
- Console.WriteLine("Get data from ref cursor...");
- while (reader.Read()) {
- for (x = 0; x < reader.FieldCount; x++)
- Console.Write(reader[x] + " ");
-
- Console.WriteLine();
- count += 1;
- }
- Console.WriteLine(count.ToString() + " Rows Returned.");
-
- reader.Close();
- }
-
- static void RefCursorTest2(OracleConnection con)
- {
- Console.WriteLine("Ref Cursor Test 2 - using call - Begin...");
-
- Console.WriteLine("Create command...");
- OracleCommand cmd = new OracleCommand();
- cmd.Connection = con;
- cmd.CommandText = "call curspkg_join.open_join_cursor1(:n_Empno,:io_cursor)";
-
- // PL/SQL definition of stored procedure in package curspkg_join
- // open_join_cursor1 (n_EMPNO IN NUMBER, io_cursor IN OUT t_cursor)
-
- Console.WriteLine("Create parameters...");
-
- OracleParameter parm1 = new OracleParameter("n_Empno", OracleType.Number);
- parm1.Direction = ParameterDirection.Input;
- parm1.Value = 7902;
-
- OracleParameter parm2 = new OracleParameter("io_cursor", OracleType.Cursor);
- parm2.Direction = ParameterDirection.Output;
-
- cmd.Parameters.Add(parm1);
- cmd.Parameters.Add(parm2);
-
- // positional parm
- //cmd.Parameters.Add(new OracleParameter("io_cursor", OracleType.Cursor)).Direction = ParameterDirection.Output;
- // named parm
- //cmd.Parameters.Add("n_Empno", OracleType.Number, 4).Value = 7902;
-
- OracleDataReader reader;
- Console.WriteLine("Execute Non Query...");
- cmd.ExecuteNonQuery();
-
- Console.WriteLine("Get data reader (ref cursor) from out parameter...");
- reader = (OracleDataReader) cmd.Parameters["io_cursor"].Value;
-
- int x, count;
- count = 0;
-
- Console.WriteLine("Get data from ref cursor...");
- while (reader.Read()) {
- for (x = 0; x < reader.FieldCount; x++)
- Console.Write(reader[x] + " ");
-
- Console.WriteLine();
- count += 1;
- }
- Console.WriteLine(count.ToString() + " Rows Returned.");
-
- reader.Close();
- }
-
- static void RefCursorTest3(OracleConnection con)
- {
- Console.WriteLine("Ref Cursor Test 3 - CommandType.StoredProcedure - Begin...");
-
- Console.WriteLine("Create command...");
- OracleCommand cmd = new OracleCommand();
- cmd.Connection = con;
- cmd.CommandText = "curspkg_join.open_join_cursor1";
- cmd.CommandType = CommandType.StoredProcedure;
-
- // PL/SQL definition of stored procedure in package curspkg_join
- // open_join_cursor1 (n_EMPNO IN NUMBER, io_cursor IN OUT t_cursor)
-
- Console.WriteLine("Create parameters...");
-
- OracleParameter parm1 = new OracleParameter("n_Empno", OracleType.Number);
- parm1.Direction = ParameterDirection.Input;
- parm1.Value = 7902;
-
- OracleParameter parm2 = new OracleParameter("io_cursor", OracleType.Cursor);
- parm2.Direction = ParameterDirection.Output;
-
- cmd.Parameters.Add(parm1);
- cmd.Parameters.Add(parm2);
-
- // positional parm
- //cmd.Parameters.Add(new OracleParameter("io_cursor", OracleType.Cursor)).Direction = ParameterDirection.Output;
- // named parm
- //cmd.Parameters.Add("n_Empno", OracleType.Number, 4).Value = 7902;
-
- OracleDataReader reader;
- Console.WriteLine("Execute Non Query...");
- cmd.ExecuteNonQuery();
-
- Console.WriteLine("Get data reader (ref cursor) from out parameter...");
- reader = (OracleDataReader) cmd.Parameters["io_cursor"].Value;
-
- int x, count;
- count = 0;
-
- Console.WriteLine("Get data from ref cursor...");
- while (reader.Read()) {
- for (x = 0; x < reader.FieldCount; x++)
- Console.Write(reader[x] + " ");
-
- Console.WriteLine();
- count += 1;
- }
- Console.WriteLine(count.ToString() + " Rows Returned.");
-
- reader.Close();
- }
-
- static void ExternalAuthenticationTest ()
- {
- string user = Environment.UserName;
- if (!Environment.UserDomainName.Equals(String.Empty))
- user = Environment.UserDomainName + "\\" + Environment.UserName;
- Console.WriteLine("Environment UserDomainName and UserName: " + user);
- Console.WriteLine("Open connection using external authentication...");
- OracleConnection con = new OracleConnection("Data Source=palis;Integrated Security=true");
- try {
- con.Open();
- OracleCommand cmd = con.CreateCommand();
- cmd.CommandText = "SELECT USER FROM DUAL";
- OracleDataReader reader = cmd.ExecuteReader();
- if (reader.Read())
- Console.WriteLine("User: " + reader.GetString(reader.GetOrdinal("USER")));
- con.Close();
- }
- catch (Exception e) {
- Console.WriteLine("Exception caught: " + e.Message);
- Console.WriteLine("Probably not setup for external authentication.");
- }
- con.Dispose();
- con = null;
- }
-
- public static void TestPersistSucurityInfo1()
- {
- Console.WriteLine("\nTestPersistSucurityInfo1 - persist security info=false");
- OracleConnection con = new OracleConnection("data source=palis;user id=scott;password=tiger;persist security info=false");
- Console.WriteLine("ConnectionString before open: " + con.ConnectionString);
- con.Open();
- Console.WriteLine("ConnectionString after open: " + con.ConnectionString);
- con.Close();
- Console.WriteLine("ConnectionString after close: " + con.ConnectionString);
- con = null;
- }
-
- public static void TestPersistSucurityInfo2()
- {
- Console.WriteLine("\nTestPersistSucurityInfo2 - persist security info=true");
- OracleConnection con = new OracleConnection("data source=palis;user id=scott;password=tiger;persist security info=true");
- Console.WriteLine("ConnectionString before open: " + con.ConnectionString);
- con.Open();
- Console.WriteLine("ConnectionString after open: " + con.ConnectionString);
- con.Close();
- Console.WriteLine("ConnectionString after close: " + con.ConnectionString);
- con = null;
- }
-
- public static void TestPersistSucurityInfo3()
- {
- Console.WriteLine("\nTestPersistSucurityInfo3 - use default for persist security info which is false");
- OracleConnection con = new OracleConnection("data source=palis;user id=scott;password=tiger");
- Console.WriteLine("ConnectionString before open: " + con.ConnectionString);
- con.Open();
- Console.WriteLine("ConnectionString after open: " + con.ConnectionString);
- con.Close();
- Console.WriteLine("ConnectionString after close: " + con.ConnectionString);
- con = null;
- }
-
- public static void TestPersistSucurityInfo4()
- {
- Console.WriteLine("\nTestPersistSucurityInfo4 - persist security info=false with password at front");
- OracleConnection con = new OracleConnection(";password=tiger;data source=palis;user id=scott;persist security info=false");
- Console.WriteLine("ConnectionString before open: " + con.ConnectionString);
- con.Open();
- Console.WriteLine("ConnectionString after open: " + con.ConnectionString);
- con.Close();
- Console.WriteLine("ConnectionString after close: " + con.ConnectionString);
- con = null;
- }
-
- public static void TestPersistSucurityInfo5()
- {
- Console.WriteLine("\nTestPersistSucurityInfo5 - persist security info=false");
- OracleConnection con = new OracleConnection("data source=palis;user id=scott;password=tiger;persist security info=false");
- Console.WriteLine("ConnectionString before open: " + con.ConnectionString);
- con.Open();
- Console.WriteLine("ConnectionString after open: " + con.ConnectionString);
- Console.WriteLine("ConnectionState for con: " + con.State.ToString() + "\n");
-
- Console.WriteLine("Clone OracleConnection...");
- OracleConnection con2 = (OracleConnection) ((ICloneable) con).Clone();
-
- Console.WriteLine("ConnectionState for con2: " + con2.State.ToString());
- Console.WriteLine("con2 ConnectionString before open: " + con2.ConnectionString);
- con2.Open();
- Console.WriteLine("con2 ConnectionString after open: " + con2.ConnectionString);
- con2.Close();
- Console.WriteLine("con2 ConnectionString after close: " + con2.ConnectionString);
-
- con.Close();
- }
-
- public static void TestPersistSucurityInfo6()
- {
- Console.WriteLine("\nTestPersistSucurityInfo6 - external auth using persist security info");
-
- string user = Environment.UserName;
- if (!Environment.UserDomainName.Equals(String.Empty))
- user = Environment.UserDomainName + "\\" + Environment.UserName;
- Console.WriteLine("Environment UserDomainName and UserName: " + user);
- Console.WriteLine("Open connection using external authentication...");
- OracleConnection con = new OracleConnection("Data Source=palis;Integrated Security=true");
- Console.WriteLine("ConnectionString before open: " + con.ConnectionString);
- try {
- con.Open();
- OracleCommand cmd = con.CreateCommand();
- cmd.CommandText = "SELECT USER FROM DUAL";
- OracleDataReader reader = cmd.ExecuteReader();
- if (reader.Read())
- Console.WriteLine("User: " + reader.GetString(reader.GetOrdinal("USER")));
- con.Close();
- Console.WriteLine("ConnectionString after close: " + con.ConnectionString);
- }
- catch (Exception e) {
- Console.WriteLine("Exception caught: " + e.Message);
- Console.WriteLine("Probably not setup for external authentication. This is fine.");
- }
- con.Dispose();
- Console.WriteLine("ConnectionString after dispose: " + con.ConnectionString);
- con = null;
- Console.WriteLine("\n\n");
- }
- - public static void ConnectionPoolingTest1 ()
- {
- Console.WriteLine("Start Connection Pooling Test 1...");
- OracleConnection[] connections = null;
- int maxCon = MAX_CONNECTIONS + 1; // add 1 more over the max connections to cause it to wait for the next available connection
- int i = 0;
-
- try {
- connections = new OracleConnection[maxCon];
-
- for (i = 0; i < maxCon; i++) {
- Console.WriteLine(" Open connection: {0}", i);
- connections[i] = new OracleConnection(conStr);
- connections[i].Open ();
- }
- } catch (InvalidOperationException e) {
- Console.WriteLine("Expected exception InvalidOperationException caught.");
- Console.WriteLine(e);
- }
-
- for (i = 0; i < maxCon; i++) {
- if (connections[i] != null) {
- Console.WriteLine(" Close connection: {0}", i);
- if (connections[i].State == ConnectionState.Open)
- connections[i].Close ();
- connections[i].Dispose ();
- connections[i] = null;
- }
- }
-
- connections = null;
-
- Console.WriteLine("Done Connection Pooling Test 1.");
- }
-
- public static void ConnectionPoolingTest2 ()
- {
- Console.WriteLine("Start Connection Pooling Test 2...");
- OracleConnection[] connections = null;
- int maxCon = MAX_CONNECTIONS;
- int i = 0;
-
- connections = new OracleConnection[maxCon];
-
- for (i = 0; i < maxCon; i++) {
- Console.WriteLine(" Open connection: {0}", i);
- connections[i] = new OracleConnection(conStr);
- connections[i].Open ();
- }
-
- Console.WriteLine("Start another thread...");
- t = new Thread(new ThreadStart(AnotherThreadProc));
- t.Start ();
-
- Console.WriteLine("Sleep...");
- Thread.Sleep(100);
-
- Console.WriteLine("Closing...");
- for (i = 0; i < maxCon; i++) {
- if (connections[i] != null) {
- Console.WriteLine(" Close connection: {0}", i);
- if (connections[i].State == ConnectionState.Open)
- connections[i].Close ();
- connections[i].Dispose ();
- connections[i] = null;
- }
- }
-
- connections = null;
- }
-
- private static void AnotherThreadProc ()
- {
- Console.WriteLine("Open connection via another thread...");
- OracleConnection[] connections = null;
- int maxCon = MAX_CONNECTIONS;
- int i = 0;
-
- connections = new OracleConnection[maxCon];
-
- for (i = 0; i < maxCon; i++) {
- Console.WriteLine(" Open connection: {0}", i);
- connections[i] = new OracleConnection(conStr);
- connections[i].Open ();
- }
-
- Console.WriteLine("Done Connection Pooling Test 2.");
- System.Environment.Exit (0);
+ cmd.CommandText = "commit"; + cmd.ExecuteNonQuery(); + } + + public static void RefCursorTest4(OracleConnection connection) + { + Console.WriteLine("Setup test package and data for RefCursorTest4..."); + OracleCommand cmddrop = connection.CreateCommand(); + + cmddrop.CommandText = "DROP TABLE TESTTABLE"; + try { + cmddrop.ExecuteNonQuery(); + } + catch(OracleException e) { + Console.WriteLine("Ignore this error: " + e.Message); + } + cmddrop.Dispose(); + cmddrop = null; + + OracleCommand cmd = connection.CreateCommand(); + + // create table TESTTABLE + cmd.CommandText = + "create table TESTTABLE (\n" + + " col1 numeric(18,0),\n" + + " col2 char(32),\n" + + " col3 date)"; + cmd.ExecuteNonQuery(); + + // insert some rows into TESTTABLE + cmd.CommandText = + "insert into TESTTABLE\n" + + "(col1, col2, col3)\n" + + "values(45, 'Mono', sysdate)"; + cmd.ExecuteNonQuery(); + + cmd.CommandText = + "insert into TESTTABLE\n" + + "(col1, col2, col3)\n" + + "values(136, 'Fun', sysdate)"; + cmd.ExecuteNonQuery(); + + cmd.CommandText = + "insert into TESTTABLE\n" + + "(col1, col2, col3)\n" + + "values(526, 'System.Data.OracleClient', sysdate)"; + cmd.ExecuteNonQuery(); + + cmd.CommandText = "commit"; + cmd.ExecuteNonQuery(); + + // create Oracle package TestTablePkg + cmd.CommandText = + "CREATE OR REPLACE PACKAGE TestTablePkg\n" + + "AS\n" + + " TYPE T_CURSOR IS REF CURSOR;\n" + + "\n" + + " PROCEDURE GetData(tableCursor OUT T_CURSOR);\n" + + "END TestTablePkg;"; + cmd.ExecuteNonQuery(); + + // create Oracle package body for package TestTablePkg + cmd.CommandText = + "CREATE OR REPLACE PACKAGE BODY TestTablePkg AS\n" + + " PROCEDURE GetData(tableCursor OUT T_CURSOR)\n" + + " IS\n" + + " BEGIN\n" + + " OPEN tableCursor FOR\n" + + " SELECT *\n" + + " FROM TestTable;\n" + + " END GetData;\n" + + "END TestTablePkg;"; + cmd.ExecuteNonQuery(); + + cmd.Dispose(); + cmd = null; + + Console.WriteLine("Set up command and parameters to call stored proc..."); + OracleCommand command = new OracleCommand("TestTablePkg.GetData", connection); + command.CommandType = CommandType.StoredProcedure; + OracleParameter parameter = new OracleParameter("tableCursor", OracleType.Cursor); + parameter.Direction = ParameterDirection.Output; + command.Parameters.Add(parameter); + + Console.WriteLine("Execute..."); + command.ExecuteNonQuery(); + + Console.WriteLine("Get OracleDataReader for cursor output parameter..."); + OracleDataReader reader = (OracleDataReader) parameter.Value; + + Console.WriteLine("Read data..."); + int r = 0; + while (reader.Read()) { + Console.WriteLine("Row {0}", r); + for (int f = 0; f < reader.FieldCount; f ++) { + object val = reader.GetValue(f); + Console.WriteLine(" Field {0} Value: {1}", f, val.ToString()); + } + r ++; + } + Console.WriteLine("Rows retrieved: {0}", r); + + Console.WriteLine("Clean up..."); + reader.Close(); + reader = null; + command.Dispose(); + command = null; + } + + static void RefCursorTest1(OracleConnection con) + { + Console.WriteLine("Ref Cursor Test 1 - using BEGIN/END for proc - Begin..."); + + Console.WriteLine("Create command..."); + OracleCommand cmd = new OracleCommand(); + cmd.Connection = con; + + cmd.CommandText = + "BEGIN\n" + + " curspkg_join.open_join_cursor1(:n_Empno,:io_cursor);\n" + + "END;"; + + // PL/SQL definition of stored procedure in package curspkg_join + // open_join_cursor1 (n_EMPNO IN NUMBER, io_cursor IN OUT t_cursor) + + Console.WriteLine("Create parameters..."); + + OracleParameter parm1 = new OracleParameter("n_Empno", OracleType.Number); + parm1.Direction = ParameterDirection.Input; + parm1.Value = 7902; + + OracleParameter parm2 = new OracleParameter("io_cursor", OracleType.Cursor); + parm2.Direction = ParameterDirection.Output; + + cmd.Parameters.Add(parm1); + cmd.Parameters.Add(parm2); + + // positional parm + //cmd.Parameters.Add(new OracleParameter("io_cursor", OracleType.Cursor)).Direction = ParameterDirection.Output; + // named parm + //cmd.Parameters.Add("n_Empno", OracleType.Number, 4).Value = 7902; + + OracleDataReader reader; + Console.WriteLine("Execute Non Query..."); + cmd.ExecuteNonQuery(); + + Console.WriteLine("Get data reader (ref cursor) from out parameter..."); + reader = (OracleDataReader) cmd.Parameters["io_cursor"].Value; + + int x, count; + count = 0; + + Console.WriteLine("Get data from ref cursor..."); + while (reader.Read()) { + for (x = 0; x < reader.FieldCount; x++) + Console.Write(reader[x] + " "); + + Console.WriteLine(); + count += 1; + } + Console.WriteLine(count.ToString() + " Rows Returned."); + + reader.Close(); + } + + static void RefCursorTest2(OracleConnection con) + { + Console.WriteLine("Ref Cursor Test 2 - using call - Begin..."); + + Console.WriteLine("Create command..."); + OracleCommand cmd = new OracleCommand(); + cmd.Connection = con; + cmd.CommandText = "call curspkg_join.open_join_cursor1(:n_Empno,:io_cursor)"; + + // PL/SQL definition of stored procedure in package curspkg_join + // open_join_cursor1 (n_EMPNO IN NUMBER, io_cursor IN OUT t_cursor) + + Console.WriteLine("Create parameters..."); + + OracleParameter parm1 = new OracleParameter("n_Empno", OracleType.Number); + parm1.Direction = ParameterDirection.Input; + parm1.Value = 7902; + + OracleParameter parm2 = new OracleParameter("io_cursor", OracleType.Cursor); + parm2.Direction = ParameterDirection.Output; + + cmd.Parameters.Add(parm1); + cmd.Parameters.Add(parm2); + + // positional parm + //cmd.Parameters.Add(new OracleParameter("io_cursor", OracleType.Cursor)).Direction = ParameterDirection.Output; + // named parm + //cmd.Parameters.Add("n_Empno", OracleType.Number, 4).Value = 7902; + + OracleDataReader reader; + Console.WriteLine("Execute Non Query..."); + cmd.ExecuteNonQuery(); + + Console.WriteLine("Get data reader (ref cursor) from out parameter..."); + reader = (OracleDataReader) cmd.Parameters["io_cursor"].Value; + + int x, count; + count = 0; + + Console.WriteLine("Get data from ref cursor..."); + while (reader.Read()) { + for (x = 0; x < reader.FieldCount; x++) + Console.Write(reader[x] + " "); + + Console.WriteLine(); + count += 1; + } + Console.WriteLine(count.ToString() + " Rows Returned."); + + reader.Close(); + } + + static void RefCursorTest3(OracleConnection con) + { + Console.WriteLine("Ref Cursor Test 3 - CommandType.StoredProcedure - Begin..."); + + Console.WriteLine("Create command..."); + OracleCommand cmd = new OracleCommand(); + cmd.Connection = con; + cmd.CommandText = "curspkg_join.open_join_cursor1"; + cmd.CommandType = CommandType.StoredProcedure; + + // PL/SQL definition of stored procedure in package curspkg_join + // open_join_cursor1 (n_EMPNO IN NUMBER, io_cursor IN OUT t_cursor) + + Console.WriteLine("Create parameters..."); + + OracleParameter parm1 = new OracleParameter("n_Empno", OracleType.Number); + parm1.Direction = ParameterDirection.Input; + parm1.Value = 7902; + + OracleParameter parm2 = new OracleParameter("io_cursor", OracleType.Cursor); + parm2.Direction = ParameterDirection.Output; + + cmd.Parameters.Add(parm1); + cmd.Parameters.Add(parm2); + + // positional parm + //cmd.Parameters.Add(new OracleParameter("io_cursor", OracleType.Cursor)).Direction = ParameterDirection.Output; + // named parm + //cmd.Parameters.Add("n_Empno", OracleType.Number, 4).Value = 7902; + + OracleDataReader reader; + Console.WriteLine("Execute Non Query..."); + cmd.ExecuteNonQuery(); + + Console.WriteLine("Get data reader (ref cursor) from out parameter..."); + reader = (OracleDataReader) cmd.Parameters["io_cursor"].Value; + + int x, count; + count = 0; + + Console.WriteLine("Get data from ref cursor..."); + while (reader.Read()) { + for (x = 0; x < reader.FieldCount; x++) + Console.Write(reader[x] + " "); + + Console.WriteLine(); + count += 1; + } + Console.WriteLine(count.ToString() + " Rows Returned."); + + reader.Close(); + } + + static void ExternalAuthenticationTest () + { + string user = Environment.UserName; + if (!Environment.UserDomainName.Equals(String.Empty)) + user = Environment.UserDomainName + "\\" + Environment.UserName; + Console.WriteLine("Environment UserDomainName and UserName: " + user); + Console.WriteLine("Open connection using external authentication..."); + OracleConnection con = new OracleConnection("Data Source=palis;Integrated Security=true"); + try { + con.Open(); + OracleCommand cmd = con.CreateCommand(); + cmd.CommandText = "SELECT USER FROM DUAL"; + OracleDataReader reader = cmd.ExecuteReader(); + if (reader.Read()) + Console.WriteLine("User: " + reader.GetString(reader.GetOrdinal("USER"))); + con.Close(); + } + catch (Exception e) { + Console.WriteLine("Exception caught: " + e.Message); + Console.WriteLine("Probably not setup for external authentication."); + } + con.Dispose(); + con = null; + } + + public static void TestPersistSucurityInfo1() + { + Console.WriteLine("\nTestPersistSucurityInfo1 - persist security info=false"); + OracleConnection con = new OracleConnection("data source=palis;user id=scott;password=PLACEHOLDER;persist security info=false"); + Console.WriteLine("ConnectionString before open: " + con.ConnectionString); + con.Open(); + Console.WriteLine("ConnectionString after open: " + con.ConnectionString); + con.Close(); + Console.WriteLine("ConnectionString after close: " + con.ConnectionString); + con = null; + } + + public static void TestPersistSucurityInfo2() + { + Console.WriteLine("\nTestPersistSucurityInfo2 - persist security info=true"); + OracleConnection con = new OracleConnection("data source=palis;user id=scott;password=PLACEHOLDER;persist security info=true"); + Console.WriteLine("ConnectionString before open: " + con.ConnectionString); + con.Open(); + Console.WriteLine("ConnectionString after open: " + con.ConnectionString); + con.Close(); + Console.WriteLine("ConnectionString after close: " + con.ConnectionString); + con = null; + } + + public static void TestPersistSucurityInfo3() + { + Console.WriteLine("\nTestPersistSucurityInfo3 - use default for persist security info which is false"); + OracleConnection con = new OracleConnection("data source=palis;user id=scott;password=PLACEHOLDER"); + Console.WriteLine("ConnectionString before open: " + con.ConnectionString); + con.Open(); + Console.WriteLine("ConnectionString after open: " + con.ConnectionString); + con.Close(); + Console.WriteLine("ConnectionString after close: " + con.ConnectionString); + con = null; + } + + public static void TestPersistSucurityInfo4() + { + Console.WriteLine("\nTestPersistSucurityInfo4 - persist security info=false with password at front"); + OracleConnection con = new OracleConnection(";password=PLACEHOLDER;data source=palis;user id=scott;persist security info=false"); + Console.WriteLine("ConnectionString before open: " + con.ConnectionString); + con.Open(); + Console.WriteLine("ConnectionString after open: " + con.ConnectionString); + con.Close(); + Console.WriteLine("ConnectionString after close: " + con.ConnectionString); + con = null; + } + + public static void TestPersistSucurityInfo5() + { + Console.WriteLine("\nTestPersistSucurityInfo5 - persist security info=false"); + OracleConnection con = new OracleConnection("data source=palis;user id=scott;password=PLACEHOLDER;persist security info=false"); + Console.WriteLine("ConnectionString before open: " + con.ConnectionString); + con.Open(); + Console.WriteLine("ConnectionString after open: " + con.ConnectionString); + Console.WriteLine("ConnectionState for con: " + con.State.ToString() + "\n"); + + Console.WriteLine("Clone OracleConnection..."); + OracleConnection con2 = (OracleConnection) ((ICloneable) con).Clone(); + + Console.WriteLine("ConnectionState for con2: " + con2.State.ToString()); + Console.WriteLine("con2 ConnectionString before open: " + con2.ConnectionString); + con2.Open(); + Console.WriteLine("con2 ConnectionString after open: " + con2.ConnectionString); + con2.Close(); + Console.WriteLine("con2 ConnectionString after close: " + con2.ConnectionString); + + con.Close(); + } + + public static void TestPersistSucurityInfo6() + { + Console.WriteLine("\nTestPersistSucurityInfo6 - external auth using persist security info"); + + string user = Environment.UserName; + if (!Environment.UserDomainName.Equals(String.Empty)) + user = Environment.UserDomainName + "\\" + Environment.UserName; + Console.WriteLine("Environment UserDomainName and UserName: " + user); + Console.WriteLine("Open connection using external authentication..."); + OracleConnection con = new OracleConnection("Data Source=palis;Integrated Security=true"); + Console.WriteLine("ConnectionString before open: " + con.ConnectionString); + try { + con.Open(); + OracleCommand cmd = con.CreateCommand(); + cmd.CommandText = "SELECT USER FROM DUAL"; + OracleDataReader reader = cmd.ExecuteReader(); + if (reader.Read()) + Console.WriteLine("User: " + reader.GetString(reader.GetOrdinal("USER"))); + con.Close(); + Console.WriteLine("ConnectionString after close: " + con.ConnectionString); + } + catch (Exception e) { + Console.WriteLine("Exception caught: " + e.Message); + Console.WriteLine("Probably not setup for external authentication. This is fine."); + } + con.Dispose(); + Console.WriteLine("ConnectionString after dispose: " + con.ConnectionString); + con = null; + Console.WriteLine("\n\n"); + } + + public static void ConnectionPoolingTest1 () + { + Console.WriteLine("Start Connection Pooling Test 1..."); + OracleConnection[] connections = null; + int maxCon = MAX_CONNECTIONS + 1; // add 1 more over the max connections to cause it to wait for the next available connection + int i = 0; + + try { + connections = new OracleConnection[maxCon]; + + for (i = 0; i < maxCon; i++) { + Console.WriteLine(" Open connection: {0}", i); + connections[i] = new OracleConnection(conStr); + connections[i].Open (); + } + } catch (InvalidOperationException e) { + Console.WriteLine("Expected exception InvalidOperationException caught."); + Console.WriteLine(e); + } + + for (i = 0; i < maxCon; i++) { + if (connections[i] != null) { + Console.WriteLine(" Close connection: {0}", i); + if (connections[i].State == ConnectionState.Open) + connections[i].Close (); + connections[i].Dispose (); + connections[i] = null; + } + } + + connections = null; + + Console.WriteLine("Done Connection Pooling Test 1."); + } + + public static void ConnectionPoolingTest2 () + { + Console.WriteLine("Start Connection Pooling Test 2..."); + OracleConnection[] connections = null; + int maxCon = MAX_CONNECTIONS; + int i = 0; + + connections = new OracleConnection[maxCon]; + + for (i = 0; i < maxCon; i++) { + Console.WriteLine(" Open connection: {0}", i); + connections[i] = new OracleConnection(conStr); + connections[i].Open (); + } + + Console.WriteLine("Start another thread..."); + t = new Thread(new ThreadStart(AnotherThreadProc)); + t.Start (); + + Console.WriteLine("Sleep..."); + Thread.Sleep(100); + + Console.WriteLine("Closing..."); + for (i = 0; i < maxCon; i++) { + if (connections[i] != null) { + Console.WriteLine(" Close connection: {0}", i); + if (connections[i].State == ConnectionState.Open) + connections[i].Close (); + connections[i].Dispose (); + connections[i] = null; + } + } + + connections = null; + } + + private static void AnotherThreadProc () + { + Console.WriteLine("Open connection via another thread..."); + OracleConnection[] connections = null; + int maxCon = MAX_CONNECTIONS; + int i = 0; + + connections = new OracleConnection[maxCon]; + + for (i = 0; i < maxCon; i++) { + Console.WriteLine(" Open connection: {0}", i); + connections[i] = new OracleConnection(conStr); + connections[i].Open (); + } + + Console.WriteLine("Done Connection Pooling Test 2."); + System.Environment.Exit (0); } private static void SetParameterOracleType (OracleConnection con) @@ -3088,10 +3088,10 @@ namespace Test.OracleClient return tempLob; } - static void SetupMyPackage(OracleConnection con)
- {
- Console.WriteLine("Setup Oracle package curspkg_join...");
-
+ static void SetupMyPackage(OracleConnection con) + { + Console.WriteLine("Setup Oracle package curspkg_join..."); + Console.WriteLine (" Drop table BLOBTEST2 ..."); try { OracleCommand cmd2 = con.CreateCommand (); @@ -3110,31 +3110,31 @@ namespace Test.OracleClient create.CommandText = "CREATE TABLE BLOBTEST2 (BLOB_COLUMN BLOB)"; create.ExecuteNonQuery (); - create.CommandText = "commit";
- create.ExecuteNonQuery();
+ create.CommandText = "commit"; + create.ExecuteNonQuery(); Console.Error.WriteLine(" create or replace package MyPackage..."); - OracleCommand cmd = con.CreateCommand();
- cmd.CommandText =
- "CREATE OR REPLACE PACKAGE MyPackage AS\n" +
- " Procedure InsertBlob (i_Sig_File blob);\n" +
- "END MyPackage;";
+ OracleCommand cmd = con.CreateCommand(); + cmd.CommandText = + "CREATE OR REPLACE PACKAGE MyPackage AS\n" + + " Procedure InsertBlob (i_Sig_File blob);\n" + + "END MyPackage;"; cmd.ExecuteNonQuery(); -
+ Console.Error.WriteLine(" create or replace package body MyPackage..."); - cmd.CommandText =
- "CREATE OR REPLACE PACKAGE BODY MyPackage AS\n" +
- " Procedure InsertBlob (i_Sig_File blob)\n" +
- " IS\n" +
+ cmd.CommandText = + "CREATE OR REPLACE PACKAGE BODY MyPackage AS\n" + + " Procedure InsertBlob (i_Sig_File blob)\n" + + " IS\n" + " BEGIN\n" + " INSERT INTO BLOBTEST2 (BLOB_COLUMN) VALUES(i_Sig_File); " + - " END InsertBlob; " +
- "END MyPackage;";
+ " END InsertBlob; " + + "END MyPackage;"; cmd.ExecuteNonQuery(); - cmd.CommandText = "commit";
- cmd.ExecuteNonQuery();
- }
+ cmd.CommandText = "commit"; + cmd.ExecuteNonQuery(); + } static byte[] ByteArrayCombine (byte[] b1, byte[] b2) { @@ -3329,18 +3329,19 @@ namespace Test.OracleClient con1.Close (); Console.WriteLine("Closed."); - conStr = conStr + ";pooling=true;min pool size=4;max pool size=" + MAX_CONNECTIONS.ToString ();
- ConnectionPoolingTest1 ();
ConnectionPoolingTest2 ();
+ conStr = conStr + ";pooling=true;min pool size=4;max pool size=" + MAX_CONNECTIONS.ToString (); + ConnectionPoolingTest1 (); + ConnectionPoolingTest2 (); // Need to have an external authentication user setup in Linux and oracle // before running this test //ExternalAuthenticationTest(); - TestPersistSucurityInfo1();
- TestPersistSucurityInfo2();
- TestPersistSucurityInfo3();
- TestPersistSucurityInfo4();
- TestPersistSucurityInfo5();
+ TestPersistSucurityInfo1(); + TestPersistSucurityInfo2(); + TestPersistSucurityInfo3(); + TestPersistSucurityInfo4(); + TestPersistSucurityInfo5(); TestPersistSucurityInfo6(); Console.WriteLine("Done."); diff --git a/mcs/class/System.Data.OracleClient/Test/refcursortest.cs b/mcs/class/System.Data.OracleClient/Test/refcursortest.cs index c490436faed..84cc55bf258 100644 --- a/mcs/class/System.Data.OracleClient/Test/refcursortest.cs +++ b/mcs/class/System.Data.OracleClient/Test/refcursortest.cs @@ -9,7 +9,7 @@ string connectionString = "Data Source=testdb;" + "User ID=scott;" + - "Password=tiger;"; + "Password=PLACEHOLDER;"; OracleConnection connection = null; connection = new OracleConnection (connectionString); connection.Open (); diff --git a/mcs/class/System.Data.OracleClient/Test/testblob.cs b/mcs/class/System.Data.OracleClient/Test/testblob.cs index ffa5022cf53..408b11d2b77 100644 --- a/mcs/class/System.Data.OracleClient/Test/testblob.cs +++ b/mcs/class/System.Data.OracleClient/Test/testblob.cs @@ -9,7 +9,7 @@ class TestBlob { static string infilename = @"../../../tools/mono-win32-setup-dark.bmp"; static string outfilename = @"mono-win32-setup-dark2.bmp"; - static string connectionString = "Data Source=testdb;User ID=scott;Password=tiger"; + static string connectionString = "Data Source=testdb;User ID=scott;Password=PLACEHOLDER"; static byte[] bytes1 = null; public static void Main (string[] args) diff --git a/mcs/class/System.Data.OracleClient/Test/testclob.cs b/mcs/class/System.Data.OracleClient/Test/testclob.cs index e440347a162..0c4a40846c3 100644 --- a/mcs/class/System.Data.OracleClient/Test/testclob.cs +++ b/mcs/class/System.Data.OracleClient/Test/testclob.cs @@ -9,7 +9,7 @@ class TestClob { static string infilename = @"cs-parser.cs"; static string outfilename = @"cs-parser2.cs"; - static string connectionString = "data source=palis;user id=scott;password=tiger" + static string connectionString = "data source=palis;user id=scott;password=PLACEHOLDER" public static void Main (string[] args) { diff --git a/mcs/tools/sqlmetal/src/Build Northwind.bat b/mcs/tools/sqlmetal/src/Build Northwind.bat index 2ccae1262b1..d5487d17b22 100644 --- a/mcs/tools/sqlmetal/src/Build Northwind.bat +++ b/mcs/tools/sqlmetal/src/Build Northwind.bat @@ -1 +1 @@ -DbMetal\bin\DbMetal.exe /database=Northwind /schema /server=%%DbLinqServer??localhost /user=LinqUser /password=linq2 /namespace=nwind /sprocs /entityInterfaces= /culture="en" /pluralize "@Build Northwind parameters.txt" +DbMetal\bin\DbMetal.exe /database=Northwind /schema /server=%%DbLinqServer??localhost /user=LinqUser /password=PLACEHOLDER /namespace=nwind /sprocs /entityInterfaces= /culture="en" /pluralize "@Build Northwind parameters.txt" diff --git a/mcs/tools/sqlmetal/src/DbLinq/Test/Providers/ReadTest_AllTypes_MySql.cs b/mcs/tools/sqlmetal/src/DbLinq/Test/Providers/ReadTest_AllTypes_MySql.cs index a4bd9f27dcb..67231ff21fc 100644 --- a/mcs/tools/sqlmetal/src/DbLinq/Test/Providers/ReadTest_AllTypes_MySql.cs +++ b/mcs/tools/sqlmetal/src/DbLinq/Test/Providers/ReadTest_AllTypes_MySql.cs @@ -22,7 +22,7 @@ namespace Test_NUnit_MySql public AllTypes CreateDB()
{
string DbServer = Environment.GetEnvironmentVariable("DbLinqServer") ?? "localhost";
- string connStr = string.Format("server={0};user id=LinqUser; password=linq2; database=AllTypes", DbServer);
+ string connStr = string.Format("server={0};user id=LinqUser; password=PLACEHOLDER; database=AllTypes", DbServer);
//return CreateDB(System.Data.ConnectionState.Closed);
AllTypes db = new AllTypes(new MySql.Data.MySqlClient.MySqlConnection(connStr));
diff --git a/mcs/tools/sqlmetal/src/DbMetal/AllTypes to Cs.txt b/mcs/tools/sqlmetal/src/DbMetal/AllTypes to Cs.txt index b8b4bbd48bc..8d2dc8971f2 100644 --- a/mcs/tools/sqlmetal/src/DbMetal/AllTypes to Cs.txt +++ b/mcs/tools/sqlmetal/src/DbMetal/AllTypes to Cs.txt @@ -1,2 +1,2 @@ # DbMetal "@Db to Cs.txt"
-/database=AllTypes /server=%DbLinqServer??localhost /user=LinqUser /password=linq2 /namespace=nwind /sprocs /entityInterfaces=INotifyPropertyChanged /pluralize "@AllTypes all to Cs.txt" /culture="en"
+/database=AllTypes /server=%DbLinqServer??localhost /user=LinqUser /password=PLACEHOLDER /namespace=nwind /sprocs /entityInterfaces=INotifyPropertyChanged /pluralize "@AllTypes all to Cs.txt" /culture="en"
diff --git a/mcs/tools/sqlmetal/src/DbMetal/DB to Cs.txt b/mcs/tools/sqlmetal/src/DbMetal/DB to Cs.txt index 7b03e05ea5a..faf14fc13ee 100644 --- a/mcs/tools/sqlmetal/src/DbMetal/DB to Cs.txt +++ b/mcs/tools/sqlmetal/src/DbMetal/DB to Cs.txt @@ -1,3 +1,3 @@ # DbMetal "@Db to Cs.txt"
-#/database=Northwind /server=%DbLinqServer??localhost /user=LinqUser /password=linq2 /namespace=nwind /sprocs /entityInterfaces=INotifyPropertyChanged /pluralize "@DB all to Cs.txt" /culture="en"
-/database=Northwind /server=%DbLinqServer??localhost /user=LinqUser /password=linq2 /namespace=nwind /sprocs /entityInterfaces=INotifyPropertyChanged /pluralize "@DB all to Cs.txt" /culture="en" /no-generateEqualsAndHash /entityAttributes=System.Runtime.Serialization.DataContract /memberAttributes=System.Runtime.Serialization.DataMember
+#/database=Northwind /server=%DbLinqServer??localhost /user=LinqUser /password=PLACEHOLDER /namespace=nwind /sprocs /entityInterfaces=INotifyPropertyChanged /pluralize "@DB all to Cs.txt" /culture="en"
+/database=Northwind /server=%DbLinqServer??localhost /user=LinqUser /password=PLACEHOLDER /namespace=nwind /sprocs /entityInterfaces=INotifyPropertyChanged /pluralize "@DB all to Cs.txt" /culture="en" /no-generateEqualsAndHash /entityAttributes=System.Runtime.Serialization.DataContract /memberAttributes=System.Runtime.Serialization.DataMember
diff --git a/mcs/tools/sqlmetal/src/DbMetal/DB to DBML.txt b/mcs/tools/sqlmetal/src/DbMetal/DB to DBML.txt index 75a0416ba26..1477bed08ac 100644 --- a/mcs/tools/sqlmetal/src/DbMetal/DB to DBML.txt +++ b/mcs/tools/sqlmetal/src/DbMetal/DB to DBML.txt @@ -1,2 +1,2 @@ # DbMetal "@Db to DBML.txt"
-/database=Northwind /server=%DbLinqServer??localhost /user=LinqUser /password=linq2 /namespace=nwind /sprocs /entityInterfaces=INotifyPropertyChanged /pluralize "@DB all to DBML.txt"
+/database=Northwind /server=%DbLinqServer??localhost /user=LinqUser /password=PLACEHOLDER /namespace=nwind /sprocs /entityInterfaces=INotifyPropertyChanged /pluralize "@DB all to DBML.txt"
diff --git a/mcs/tools/sqlmetal/tests/ConnectionStrings.xml b/mcs/tools/sqlmetal/tests/ConnectionStrings.xml index c369c1b09cf..2dd98e9ca27 100644 --- a/mcs/tools/sqlmetal/tests/ConnectionStrings.xml +++ b/mcs/tools/sqlmetal/tests/ConnectionStrings.xml @@ -3,22 +3,22 @@ <Connection assembly="DbLinq.SqlServer_test">Data Source=.\SQLExpress;Integrated Security=True;Initial Catalog=Northwind;MultipleActiveResultSets=True;</Connection>
<Connection assembly="DbLinq.SqlServer_test_strict">Data Source=.\SQLExpress;Integrated Security=True;Initial Catalog=Northwind</Connection>
- <Connection assembly="DbLinq.Oracle_test_odp">Data Source = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = {0})(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED))); User Id = Northwind; Password = linq2</Connection>
- <Connection assembly="DbLinq.Oracle_test">Data Source = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = {0})(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED))); User Id = Northwind; Password = linq2</Connection>
+ <Connection assembly="DbLinq.Oracle_test_odp">Data Source = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = {0})(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED))); User Id = Northwind; Password = PLACEHOLDER</Connection>
+ <Connection assembly="DbLinq.Oracle_test">Data Source = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = {0})(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED))); User Id = Northwind; Password = PLACEHOLDER</Connection>
<Connection assembly="DbLinq.Sqlite_test">Data Source=Northwind.db3</Connection>
<Connection assembly="DbLinq.Sqlite_test_mono">Data Source=Northwind.db3</Connection>
<Connection assembly="DbLinq.Sqlite_test_mono_strict">DbLinqProvider=Sqlite;Data Source=Northwind.db3</Connection>
- <Connection assembly="DbLinq.MySql_test">server={0};user id=LinqUser; password=linq2; database=Northwind</Connection>
- <Connection assembly="DbLinq.PostgreSql_test">server={0};user id=LinqUser; password=linq2; database=Northwind</Connection>
- <Connection assembly="DbLinq.Ingres_test">server={0};user id=LinqUser; password=linq2; database=Northwind</Connection>
- <Connection assembly="DbLinq.Firebird_test">server={0};user id=LinqUser; password=linq2; database=c:\Program Files\Firebird\Firebird_2_1\examples\nwind\NORTHWIND.FDB</Connection>
+ <Connection assembly="DbLinq.MySql_test">server={0};user id=LinqUser; password=PLACEHOLDER; database=Northwind</Connection>
+ <Connection assembly="DbLinq.PostgreSql_test">server={0};user id=LinqUser; password=PLACEHOLDER; database=Northwind</Connection>
+ <Connection assembly="DbLinq.Ingres_test">server={0};user id=LinqUser; password=PLACEHOLDER; database=Northwind</Connection>
+ <Connection assembly="DbLinq.Firebird_test">server={0};user id=LinqUser; password=PLACEHOLDER; database=c:\Program Files\Firebird\Firebird_2_1\examples\nwind\NORTHWIND.FDB</Connection>
</Connections>
<!--
-<Connection assembly="DbLinq.MySql_test">server=hasselhoff.eii.us.es;user id=LinqUser; password=linq2; database=Northwind</Connection>
-<Connection assembly="DbLinq.PostgreSql_test">server=hasselhoff.eii.us.es;user id=LinqUser; password=linq2; database=postgreNorthwind</Connection>
+<Connection assembly="DbLinq.MySql_test">server=hasselhoff.eii.us.es;user id=LinqUser; password=PLACEHOLDER; database=Northwind</Connection>
+<Connection assembly="DbLinq.PostgreSql_test">server=hasselhoff.eii.us.es;user id=LinqUser; password=PLACEHOLDER; database=postgreNorthwind</Connection>
- <Connection assembly="DbLinq.MySql_test">server={0};user id=LinqUser; password=linq2; database=Northwind</Connection>
- <Connection assembly="DbLinq.PostgreSql_test">server={0};user id=LinqUser; password=linq2; database=Northwind</Connection>
+ <Connection assembly="DbLinq.MySql_test">server={0};user id=LinqUser; password=PLACEHOLDER; database=Northwind</Connection>
+ <Connection assembly="DbLinq.PostgreSql_test">server={0};user id=LinqUser; password=PLACEHOLDER; database=Northwind</Connection>
-->
diff --git a/mcs/tools/sqlsharp/README b/mcs/tools/sqlsharp/README index 7aa5352a1ca..9d2bb2c4e96 100644 --- a/mcs/tools/sqlsharp/README +++ b/mcs/tools/sqlsharp/README @@ -58,7 +58,7 @@ CONNECTION AND PROVIDER COMMANDS SQL# \ConnectionString Provider=PostgreSQL;Addr=127.0.0.1;Database=rodrigo Oracle via System.Data.OracleClient - SQL# \ConnectionString Data Source=testdb;User ID=scott;Password=tiger + SQL# \ConnectionString Data Source=testdb;User ID=scott;Password=PLACEHOLDER FirebirdSql via FirebirdSql.Data.Firebird (not included with Mono) SQL# \ConnectionString Database=C:\FIREBIRD\EXAMPLES\EMPLOYEE.FDB;User=SYSDBA;Password=masterkey;Dialect=3;Server=localhost |