int ManagedOracleClient() { Oracle.ManagedDataAccess.Client.OracleConnectionStringBuilder connBuilder = new Oracle.ManagedDataAccess.Client.OracleConnectionStringBuilder(); connBuilder.DataSource = txtDataSource.Text.Trim(); connBuilder.UserID = txtUserId.Text.Trim(); connBuilder.Password = txtPwd.Text.Trim(); connBuilder.ConnectionTimeout = 300; connBuilder.ConnectionLifeTime = 10; connBuilder.MinPoolSize = 0; int rows = 0; using (Oracle.ManagedDataAccess.Client.OracleConnection conn = new Oracle.ManagedDataAccess.Client.OracleConnection(connBuilder.ConnectionString)) { Oracle.ManagedDataAccess.Client.OracleCommand cmd = conn.CreateCommand(); cmd.CommandText = txtSql.Text.Trim(); cmd.CommandTimeout = 300; conn.Open(); using (Oracle.ManagedDataAccess.Client.OracleDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { object[] objs = new object[500]; dr.GetValues(objs); rows++; } } return(rows); } }
internal static void GetData(int num, bool readClob, bool readBlob) { //using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connstr"].ConnectionString)) //{ // DataTable table = new DataTable(); // SqlDataAdapter adp = new SqlDataAdapter(string.Format("select top {0} * from TEMP_TestTKK0719-- order by newid()", num), conn); // adp.Fill(table); //} switch (ConfigurationManager.AppSettings["dbtype"].ToUpper().Trim()) { case "SYSTEM.DATA.ORACLECLIENT": using (OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["connstr"].ConnectionString)) { OracleCommand cmd = conn.CreateCommand(); conn.Open(); cmd.CommandText = string.Format("select 1 from user_tables t where t.table_name = upper('TEMP_TestTKK0719')"); object tableInited = cmd.ExecuteScalar(); if (tableInited == null || tableInited == DBNull.Value) { cmd.CommandText = @"CREATE TABLE TEMP_TestTKK0719( code varchar2(50) NOT NULL, name varchar2(100) NULL, age int NULL, birthday timestamp NULL, salary decimal(10, 2) NULL, summary varchar2(1000) NULL, remark clob NULL, extends blob NULL, created timestamp, CONSTRAINT PK__TEMP_TestTKK0719 PRIMARY KEY (code) )"; cmd.ExecuteNonQuery(); cmd.CommandText = "create index idx_TEMP_TestTKK0719_Name on TEMP_TestTKK0719(name)"; cmd.ExecuteNonQuery(); cmd.CommandText = "create index idx_TEMP_TestTKK0719_age on TEMP_TestTKK0719(age)"; cmd.ExecuteNonQuery(); cmd.CommandText = "create index idx_TEMP_TestTKK0719_birthday on TEMP_TestTKK0719(birthday)"; cmd.ExecuteNonQuery(); } conn.Close(); cmd.CommandText = string.Format("select code, name, age, birthday, salary, summary, created {1} {2} from TEMP_TestTKK0719 where rownum <= {0}", num, (readClob ? ", remark" : string.Empty), (readBlob ? ", extends" : string.Empty)); conn.Open(); using (OracleDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { object[] objs = new object[500]; dr.GetValues(objs); } } conn.Close(); } break; case "ODP.NET": using (IDbConnection conn = ODPClientFactory.CreateConnection()) { conn.ConnectionString = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString; IDbCommand cmd = conn.CreateCommand(); conn.Open(); cmd.CommandText = string.Format("select 1 from user_tables t where t.table_name = upper('TEMP_TestTKK0719')"); object tableInited = cmd.ExecuteScalar(); if (tableInited == null || tableInited == DBNull.Value) { cmd.CommandText = @"CREATE TABLE TEMP_TestTKK0719( code varchar2(50) NOT NULL, name varchar2(100) NULL, age int NULL, birthday timestamp NULL, salary decimal(10, 2) NULL, summary varchar2(1000) NULL, remark clob NULL, extends blob NULL, created timestamp, CONSTRAINT PK__TEMP_TestTKK0719 PRIMARY KEY (code) )"; cmd.ExecuteNonQuery(); cmd.CommandText = "create index idx_TEMP_TestTKK0719_Name on TEMP_TestTKK0719(name)"; cmd.ExecuteNonQuery(); cmd.CommandText = "create index idx_TEMP_TestTKK0719_age on TEMP_TestTKK0719(age)"; cmd.ExecuteNonQuery(); cmd.CommandText = "create index idx_TEMP_TestTKK0719_birthday on TEMP_TestTKK0719(birthday)"; cmd.ExecuteNonQuery(); } conn.Close(); cmd.CommandText = string.Format("select code, name, age, birthday, salary, summary, created {1} {2} from TEMP_TestTKK0719 where rownum <= {0}", num, (readClob ? ", remark" : string.Empty), (readBlob ? ", extends" : string.Empty)); conn.Open(); using (IDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { object[] objs = new object[500]; dr.GetValues(objs); } } conn.Close(); } break; case "ODAC": using (ManagedOralceConnection conn = new ManagedOralceConnection(ConfigurationManager.ConnectionStrings["connstr"].ConnectionString)) { ManagedOracleCommand cmd = conn.CreateCommand(); conn.Open(); cmd.CommandText = string.Format("select 1 from user_tables t where t.table_name = upper('TEMP_TestTKK0719')"); object tableInited = cmd.ExecuteScalar(); if (tableInited == null || tableInited == DBNull.Value) { cmd.CommandText = @"CREATE TABLE TEMP_TestTKK0719( code varchar2(50) NOT NULL, name varchar2(100) NULL, age int NULL, birthday timestamp NULL, salary decimal(10, 2) NULL, summary varchar2(1000) NULL, remark clob NULL, extends blob NULL, created timestamp, CONSTRAINT PK__TEMP_TestTKK0719 PRIMARY KEY (code) )"; cmd.ExecuteNonQuery(); cmd.CommandText = "create index idx_TEMP_TestTKK0719_Name on TEMP_TestTKK0719(name)"; cmd.ExecuteNonQuery(); cmd.CommandText = "create index idx_TEMP_TestTKK0719_age on TEMP_TestTKK0719(age)"; cmd.ExecuteNonQuery(); cmd.CommandText = "create index idx_TEMP_TestTKK0719_birthday on TEMP_TestTKK0719(birthday)"; cmd.ExecuteNonQuery(); } conn.Close(); cmd.CommandText = string.Format("select code, name, age, birthday, salary, summary, created {1} {2} from TEMP_TestTKK0719 where rownum <= {0}", num, (readClob ? ", remark" : string.Empty), (readBlob ? ", extends" : string.Empty)); conn.Open(); using (ManagedOracleDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { object[] objs = new object[500]; dr.GetValues(objs); } } conn.Close(); } break; default: using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connstr"].ConnectionString)) { SqlCommand cmd = conn.CreateCommand(); conn.Open(); cmd.CommandText = string.Format("select 1 from sys.tables t where t.name = 'TEMP_TestTKK0719'"); object tableInited = cmd.ExecuteScalar(); if (tableInited == null || tableInited == DBNull.Value) { cmd.CommandText = @"CREATE TABLE TEMP_TestTKK0719( code varchar(50) NOT NULL, name varchar(100) NULL, age int NULL, birthday datetime NULL, salary decimal(10, 2) NULL, summary nvarchar(1000) NULL, remark varchar(max) NULL, extends varbinary(max) NULL, created datetime, CONSTRAINT PK__TEMP_TestTKK0719 PRIMARY KEY (code) )"; cmd.ExecuteNonQuery(); cmd.CommandText = "create index idx_TEMP_TestTKK0719_Name on TEMP_TestTKK0719(name)"; cmd.ExecuteNonQuery(); cmd.CommandText = "create index idx_TEMP_TestTKK0719_age on TEMP_TestTKK0719(age)"; cmd.ExecuteNonQuery(); cmd.CommandText = "create index idx_TEMP_TestTKK0719_birthday on TEMP_TestTKK0719(birthday)"; cmd.ExecuteNonQuery(); } conn.Close(); cmd.CommandText = string.Format("select top {0} code, name, age, birthday, salary, summary, created {1} {2} from TEMP_TestTKK0719", num, (readClob ? ", remark" : string.Empty), (readBlob ? ", extends" : string.Empty)); conn.Open(); using (SqlDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { object[] objs = new object[500]; dr.GetValues(objs); } } conn.Close(); } break; } }