csharp: ODP.NET,System.Data.OracleClient(.net 4.0) and System.Data.OleDb读取Oracle g 11.2.0的区别
ODP.NET:
引用:
- using Oracle.DataAccess; //Oracle g 11.2.0
- using Oracle.DataAccess.Client;
- using Oracle.DataAccess.Types;
- //下载 http://www.oracle.com/technetwork/topics/dotnet/downloads/net-downloads-160392.html
- //引用:D:\app\geovindu\product\11.2.0\dbhome_1\ODP.NET\bin
- //用法参考
- //
- //http://docs.oracle.com/cd/B28359_01/appdev.111/b28844/procedures_dot_net.htm
- //http://docs.oracle.com/cd/B19306_01/win.102/b14307/OracleDataAdapterClass.htm //.net 4.0
- //https://docs.oracle.com/cd/B19306_01/server.102/b14220/schema.htm
数据库连接字符串:
- public string connectionString = @"DATA SOURCE=oracle11g;USER ID=geovin;password=geovindu;";
- /// <summary>
- /// 20160918 涂聚文
- /// Geovin Du
- /// </summary>
- public class BookKindListDAL : IBookKindList
- {
- ///<summary>
- /// 追加记录
- ///</summary>
- ///<param name="BookKindListInfo"></param>
- ///<returns></returns>
- public int InsertBookKindList(BookKindListInfo bookKindList)
- {
- int ret = 0;
- try
- {
- OracleParameter[] par = new OracleParameter[]{
- new OracleParameter("temTypeName",OracleDbType.NVarchar2,1000),
- new OracleParameter("temParent",OracleDbType.Int32,4),
- };
- par[0].Value = bookKindList.BookKindName;
- par[1].Value = bookKindList.BookKindParent;
- ret = OracleHelper.ExecuteSql("proc_Insert_BookKindList", CommandType.StoredProcedure, par);
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return ret;
- }
- /// <summary>
- /// 追加记录返回
- /// </summary>
- /// <param name="authorList"></param>
- /// <param name="authorID"></param>
- /// <returns></returns>
- public int InsertBookKindOutput(BookKindListInfo bookKindList, out int bookKindLID)
- {
- bookKindLID = 0;
- int ret = 0;
- try
- {
- OracleParameter[] par = new OracleParameter[]{
- new OracleParameter("temTypeName",OracleDbType.NVarchar2,1000),
- new OracleParameter("temParent",OracleDbType.Int32,4),
- new OracleParameter("temId",OracleDbType.Int32,4),
- };
- par[0].Value = bookKindList.BookKindName;
- par[1].Value = bookKindList.BookKindParent;
- par[2].Direction = ParameterDirection.Output;
- ret = OracleHelper.ExecuteSql("proc_Insert_BookKindOut", CommandType.StoredProcedure, par);
- if (ret > 0)
- {
- bookKindLID =int.Parse(par[2].Value.ToString());
- }
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return ret;
- }
- ///<summary>
- ///修改记录
- ///</summary>
- ///<param name="BookKindListInfo"></param>
- ///<returns></returns>
- public int UpdateBookKindList(BookKindListInfo bookKindList)
- {
- int ret = 0;
- try
- {
- OracleParameter[] par = new OracleParameter[]{
- new OracleParameter("BookKindID",OracleDbType.Int32,4),
- new OracleParameter("BookKindName",OracleDbType.NVarchar2,1000),
- new OracleParameter("BookKindParent",OracleDbType.Int32,4),
- };
- par[0].Value = bookKindList.BookKindID;
- par[1].Value = bookKindList.BookKindName;
- par[2].Value = bookKindList.BookKindParent;
- ret = OracleHelper.ExecuteSql("proc_Update_BookKindList", CommandType.StoredProcedure, par);
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return ret;
- }
- ///<summary>
- /// 删除记录
- ///</summary>
- ///<param name="bookKindIDInfo"></param>
- ///<returns></returns>
- public bool DeleteBookKindList(int bookKindID)
- {
- bool ret = false;
- try
- {
- OracleParameter par = new OracleParameter("BookKindID", bookKindID);
- int temp = 0;
- temp = OracleHelper.ExecuteSql("proc_Delete_BookKindList", CommandType.StoredProcedure, par);
- if (temp != 0)
- {
- ret = true;
- }
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return ret;
- }
- ///<summary>
- /// 查询记录
- ///</summary>
- ///<param name="bookKindIDInfo"></param>
- ///<returns></returns>
- public BookKindListInfo SelectBookKindList(int bookKindID)
- {
- BookKindListInfo bookKindList = null;
- try
- {
- OracleParameter par = new OracleParameter("BookKindID", bookKindID);
- using (OracleDataReader reader = OracleHelper.GetReader("proc_Select_BookKindList", CommandType.StoredProcedure, par))
- {
- if (reader.Read())
- {
- bookKindList = new BookKindListInfo();
- bookKindList.BookKindID = (!object.Equals(reader["BookKindID"], null)) ? (int)reader["BookKindID"] : 0;
- bookKindList.BookKindName = (!object.Equals(reader["BookKindName"], null)) ? (string)reader["BookKindName"] : "";
- bookKindList.BookKindParent = (!object.Equals(reader["BookKindParent"], null)) ? (int)reader["BookKindParent"] : 0;
- }
- }
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return bookKindList;
- }
- ///<summary>
- /// 查询所有记录
- ///</summary>
- ///<returns></returns>
- public List<BookKindListInfo> SelectBookKindListAll()
- {
- List<BookKindListInfo> list = new List<BookKindListInfo>();
- BookKindListInfo bookKindList = null;
- try
- {
- using (OracleDataReader reader = OracleHelper.GetReader("proc_Select_BookKindListAll", CommandType.StoredProcedure, null))
- {
- while (reader.Read())
- {
- bookKindList = new BookKindListInfo();
- bookKindList.BookKindID = (!object.Equals(reader["BookKindID"], null)) ? (int)reader["BookKindID"] : 0;
- bookKindList.BookKindName = (!object.Equals(reader["BookKindName"], null)) ? (string)reader["BookKindName"] : "";
- bookKindList.BookKindParent = (!object.Equals(reader["BookKindParent"], null)) ? (int)reader["BookKindParent"] : 0;
- list.Add(bookKindList);
- }
- }
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return list;
- }
- ///<summary>
- /// 查询所有记录
- ///</summary>
- ///<returns></returns>
- public DataTable SelectBookKindListDataTableAll()
- {
- DataTable dt = new DataTable();
- try
- {
- using (DataTable reader = OracleHelper.GetTable("proc_Select_BookKindListAll", CommandType.StoredProcedure, null))
- {
- dt = reader;
- }
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return dt;
- }
- }
System.Data.OracleClient(.net 4.0)
引用:
- using System.Collections;
- using System.Data;
- using System.Configuration;
- using System.Data.OracleClient;//.net 4.0
- //用法参考
- //https://msdn.microsoft.com/en-us/library/system.data.oracleclient.oracledataadapter(v=vs.110).aspx
- //http://blog.csdn.net/chinawn/article/details/336904
- //C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Data.OracleClient.dll
数据库连接字符串:
- public string connectionString = @"Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = oracle11g)));user id=geovin;password=geovindu;Persist Security Info=True;";
- /// <summary>
- /// 20160918 涂聚文
- /// Geovin Du
- /// </summary>
- public class BookKindListDAL : IBookKindList
- {
- ///<summary>
- /// 追加记录
- ///</summary>
- ///<param name="BookKindListInfo"></param>
- ///<returns></returns>
- public int InsertBookKindList(BookKindListInfo bookKindList)
- {
- int ret = 0;
- try
- {
- OracleParameter[] par = new OracleParameter[]{
- new OracleParameter("temTypeName",OracleType.NVarChar,1000),
- new OracleParameter("temParent",OracleType.Number,4),
- };
- par[0].Value = bookKindList.BookKindName;
- par[1].Value = bookKindList.BookKindParent;
- ret = OracleHelper.ExecuteSql("proc_Insert_BookKindList", CommandType.StoredProcedure, par);
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return ret;
- }
- /// <summary>
- /// 追加记录返回
- /// </summary>
- /// <param name="authorList"></param>
- /// <param name="authorID"></param>
- /// <returns></returns>
- public int InsertBookKindOutput(BookKindListInfo bookKindList, out int bookKindLID)
- {
- bookKindLID = 0;
- int ret = 0;
- try
- {
- OracleParameter[] par = new OracleParameter[]{
- new OracleParameter("temTypeName",OracleType.NVarChar,1000),
- new OracleParameter("temParent",OracleType.Number,4),
- new OracleParameter("temId",OracleType.Number,4),
- };
- par[0].Value = bookKindList.BookKindName;
- par[1].Value = bookKindList.BookKindParent;
- par[2].Direction = ParameterDirection.Output;
- ret = OracleHelper.ExecuteSql("proc_Insert_BookKindOut", CommandType.StoredProcedure, par);
- if (ret > 0)
- {
- bookKindLID =int.Parse(par[2].Value.ToString());
- }
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return ret;
- }
- ///<summary>
- ///修改记录
- ///</summary>
- ///<param name="BookKindListInfo"></param>
- ///<returns></returns>
- public int UpdateBookKindList(BookKindListInfo bookKindList)
- {
- int ret = 0;
- try
- {
- OracleParameter[] par = new OracleParameter[]{
- new OracleParameter("BookKindID",OracleType.Number,4),
- new OracleParameter("BookKindName",OracleType.NVarChar,1000),
- new OracleParameter("BookKindParent",OracleType.Number,4),
- };
- par[0].Value = bookKindList.BookKindID;
- par[1].Value = bookKindList.BookKindName;
- par[2].Value = bookKindList.BookKindParent;
- ret = OracleHelper.ExecuteSql("proc_Update_BookKindList", CommandType.StoredProcedure, par);
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return ret;
- }
- ///<summary>
- /// 删除记录
- ///</summary>
- ///<param name="bookKindIDInfo"></param>
- ///<returns></returns>
- public bool DeleteBookKindList(int bookKindID)
- {
- bool ret = false;
- try
- {
- OracleParameter par = new OracleParameter("BookKindID", bookKindID);
- int temp = 0;
- temp = OracleHelper.ExecuteSql("proc_Delete_BookKindList", CommandType.StoredProcedure, par);
- if (temp != 0)
- {
- ret = true;
- }
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return ret;
- }
- ///<summary>
- /// 查询记录
- ///</summary>
- ///<param name="bookKindIDInfo"></param>
- ///<returns></returns>
- public BookKindListInfo SelectBookKindList(int bookKindID)
- {
- BookKindListInfo bookKindList = null;
- try
- {
- OracleParameter par = new OracleParameter("BookKindID", bookKindID);
- using (OracleDataReader reader = OracleHelper.GetReader("proc_Select_BookKindList", CommandType.StoredProcedure, par))
- {
- if (reader.Read())
- {
- bookKindList = new BookKindListInfo();
- bookKindList.BookKindID = (!object.Equals(reader["BookKindID"], null)) ? (int)reader["BookKindID"] : 0;
- bookKindList.BookKindName = (!object.Equals(reader["BookKindName"], null)) ? (string)reader["BookKindName"] : "";
- bookKindList.BookKindParent = (!object.Equals(reader["BookKindParent"], null)) ? (int)reader["BookKindParent"] : 0;
- }
- }
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return bookKindList;
- }
- ///<summary>
- /// 查询所有记录
- ///</summary>
- ///<returns></returns>
- public List<BookKindListInfo> SelectBookKindListAll()
- {
- List<BookKindListInfo> list = new List<BookKindListInfo>();
- BookKindListInfo bookKindList = null;
- try
- {
- using (OracleDataReader reader = OracleHelper.GetReader("proc_Select_BookKindListAll", CommandType.StoredProcedure, null))
- {
- while (reader.Read())
- {
- bookKindList = new BookKindListInfo();
- bookKindList.BookKindID = (!object.Equals(reader["BookKindID"], null)) ? (int)reader["BookKindID"] : 0;
- bookKindList.BookKindName = (!object.Equals(reader["BookKindName"], null)) ? (string)reader["BookKindName"] : "";
- bookKindList.BookKindParent = (!object.Equals(reader["BookKindParent"], null)) ? (int)reader["BookKindParent"] : 0;
- list.Add(bookKindList);
- }
- }
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return list;
- }
- ///<summary>
- /// 查询所有记录
- ///</summary>
- ///<returns></returns>
- public DataTable SelectBookKindListDataTableAll()
- {
- DataTable dt = new DataTable();
- try
- {
- using (DataTable reader = OracleHelper.GetTable("proc_Select_BookKindListAll", CommandType.StoredProcedure, null))
- {
- dt = reader;
- }
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return dt;
- }
- }
System.Data.OleDb
- string connString = "Provider=OraOLEDB.Oracle.1;User ID=geovin;Password=geovindu;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = oracle11g)))";
- OleDbConnection conn = new OleDbConnection(connString);
- try
- {
- conn.Open();
- MessageBox.Show(conn.State.ToString());
- DataTable dt = conn.GetSchema(this.comboBox1.Text.Trim());
- this.dataGridView1.DataSource = dt;
- this.textBox1.Text = GetColumnNames(dt);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message.ToString());
- }
- finally
- {
- conn.Close();
- }
oracle package sql:
- /**创建一个名为pkgBookKinds的包查所表中所有内容**/
- create or replace package pkg_BookKinds is
- --定义一个公有的游标类型cursor_pdt
- --ref 可以在程序间传递结果集
- --一个程序里打开游标变量,在另外的程序里处理数据
- type cursor_pdt is ref cursor;
- --声明一个存储过程 ,游标类型参数为输出类型
- procedure proc_GetAllBookKind(cur_set out cursor_pdt);
- end pkg_BookKinds;
- /**创建一个包体**/
- create or replace package body pkg_BookKinds is
- --实现包中没有实现的存储过程
- procedure proc_GetAllBookKind(cur_set out cursor_pdt) as
- begin
- --打开游标,由于定义游标时使用ref处理游标可以推迟到客户端
- open cur_set for select * from BookKindList;
- end;
- end;
- /**使用过程测试定义的存储过程**/
- declare
- --定义游标类型的变量
- cur_set pkg_BookKinds.cursor_pdt;
- --定义行类型
- pdtrow BookKindList%rowtype;
- begin
- --执行存储过程
- pkg_BookKinds.proc_GetAllBookKind(cur_set);
- --遍历游标中的数据
- LOOP
- --取当前行数据存入pdtrow
- FETCH cur_set INTO pdtrow;
- --如果未获取数据就结束循环
- EXIT WHEN cur_set%NOTFOUND;
- --输出获取到的数据
- DBMS_OUTPUT.PUT_LINE (pdtrow.BookKindID||','||pdtrow.BookKindName);
- END LOOP;
- CLOSE cur_set;
- end;
- --创建包以游标的形式返回BookKindList的结果集
- create or replace package pkg_BookKindList is
- -- Author : geovindu
- type mycur is ref cursor;
- procedure fun_GetRecords(cur_return out mycur);
- end pkg_BookKindList;
- create or replace package body pkg_BookKindList is
- -- Function and procedure implementations
- procedure fun_GetRecords(cur_return out mycur)
- is
- begin
- open cur_return for select * from BookKindList;
- end fun_GetRecords;
- end pkg_BookKindList;
- declare
- --定义游标类型的变量
- cur_return pkg_BookKindList.mycur;
- --定义行类型
- pdtrow BookKindList%rowtype;
- begin
- --执行存储过程
- pkg_BookKindList.fun_GetRecords(cur_return);
- --遍历游标中的数据
- LOOP
- --取当前行数据存入pdtrow
- FETCH cur_return INTO pdtrow;
- --如果未获取数据就结束循环
- EXIT WHEN cur_return%NOTFOUND;
- --输出获取到的数据
- DBMS_OUTPUT.PUT_LINE (pdtrow.BookKindID||','||pdtrow.BookKindName);
- END LOOP;
- CLOSE cur_return;
- end;
C# 3.5 调用查询:
- /// <summary>
- ///
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void Form3_Load(object sender, EventArgs e)
- {
- BindGridView();
- }
- /// <summary>
- ///
- /// </summary>
- private void BindGridView()
- {
- OracleConnection conn = new OracleConnection(connectionString);
- //ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString
- OracleCommand comm = new OracleCommand("pkg_BookKindList.fun_GetRecords", conn);
- comm.Parameters.Add("cur_return", OracleType.Cursor).Direction = ParameterDirection.Output;
- comm.CommandType = CommandType.StoredProcedure;
- DataSet ds = new DataSet();
- using (OracleDataAdapter da = new OracleDataAdapter(comm))
- {
- da.Fill(ds);
- }
- this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
- }
- /// <summary>
- ///
- /// </summary>
- private void BindGridViewOther()
- {
- OracleConnection conn = new OracleConnection(connectionString);
- //ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString
- OracleCommand comm = new OracleCommand("pkg_BookKindList.fun_GetRecords", conn);
- comm.CommandType = CommandType.StoredProcedure;
- //定义参数,注意参数名必须与存储过程定义时一致,且类型为OracleType.Cursor
- OracleParameter cur_set = new OracleParameter("cur_return", OracleType.Cursor);
- //设置参数为输出类型
- cur_set.Direction = ParameterDirection.Output;
- //添加参数
- comm.Parameters.Add(cur_set);
- DataSet ds = new DataSet();
- using (OracleDataAdapter da = new OracleDataAdapter(comm))
- {
- da.Fill(ds);
- }
- this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
- }
Oracle sql:
- ---某条记录的字段
- drop PROCEDURE proc_Select_BookKindName;
- CREATE OR REPLACE PROCEDURE proc_Select_BookKindName(kind_id IN BookKindList.BookKindID%type) AS
- --声明语句段
- v_name varchar2(20);
- BEGIN
- --执行语句段
- SELECT o.BookKindName INTO v_name FROM BookKindList o where o.BookKindID=kind_id;
- dbms_output.put_line(v_name);
- EXCEPTION
- --异常处理语句段
- WHEN NO_DATA_FOUND THEN dbms_output.put_line('NO_DATA_FOUND');
- END;
- --测试
- begin
- proc_Select_BookKindName(1);
- end;
- ---一条记录
- --创建包:
- create or replace package pack_BookKindId is
- type cur_BookKindId is ref cursor;
- end pack_BookKindId;
- --创建存储过程
- create or replace procedure proc_curBookKindId(p_id in number,p_cur out pack_BookKindId.cur_BookKindId)
- is
- v_sql varchar2(400);
- begin
- if p_id = 0 then
- open p_cur for select * from BookKindList;
- else
- v_sql := 'select * from BookKindList where BookKindID =: p_id';
- open p_cur for v_sql using p_id;
- end if;
- end proc_curBookKindId;
- --测试查询一条记录存储过程
- -- Test statements here
- set serveroutput on
- declare
- v_id number := 1; --0 时,所有记录
- v_row BookKindList%rowtype; --注意这里是表名
- p_cur pack_BookKindId.cur_BookKindId;
- begin
- proc_curBookKindId(v_id, p_cur);
- loop
- fetch p_cur into v_row;
- exit when p_cur%notfound;
- DBMS_OUTPUT.PUT_LINE(v_row.BookKindName||'='||v_row.BookKindID);
- end loop;
- close p_cur;
- end;
ODP.NET:
- ///<summary>
- /// 查询所有记录
- ///</summary>
- ///<returns></returns>
- public List<BookKindListInfo> SelectBookKindListAll()
- {
- List<BookKindListInfo> list = new List<BookKindListInfo>();
- BookKindListInfo bookKindList = null;
- try
- {
- //定义参数,注意参数名必须与存储过程定义时一致,且类型为OracleType.Cursor
- OracleParameter cur_set = new OracleParameter("cur_return", OracleDbType.RefCursor);
- //设置参数为输出类型
- cur_set.Direction = ParameterDirection.Output;
- //OracleHelper.ExecuteReader(connectionString, CommandType.StoredProcedure, "pkg_Select_BookKindListAll.proc_Select_BookKindListAll", cur_set)
- using (OracleDataReader reader = OracleHelper.GetReader("pkg_Select_BookKindListAll.proc_Select_BookKindListAll", CommandType.StoredProcedure, cur_set))
- {
- while (reader.Read())
- {
- bookKindList = new BookKindListInfo();
- string s = reader["BookKindID"].ToString();
- bookKindList.BookKindID = (!object.Equals(reader["BookKindID"], null)) ? (decimal)reader["BookKindID"] : 0;
- bookKindList.BookKindName = (!object.Equals(reader["BookKindName"], null)) ? (string)reader["BookKindName"] : "";
- bookKindList.BookKindParent = (!object.Equals(reader["BookKindParent"], null)) ? (decimal)reader["BookKindParent"] : 0;
- list.Add(bookKindList);
- }
- }
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return list;
- }
- ///<summary>
- /// 查询所有记录
- ///</summary>
- ///<returns></returns>
- public DataTable SelectBookKindListDataTableAll()
- {
- DataTable dt = new DataTable();
- try
- {
- //定义参数,注意参数名必须与存储过程定义时一致,且类型为OracleType.Cursor
- OracleParameter cur_set = new OracleParameter("cur_return", OracleDbType.RefCursor);
- //设置参数为输出类型
- cur_set.Direction = ParameterDirection.Output;
- //添加参数
- //comm.Parameters.Add(cur_set);
- using (DataTable reader = OracleHelper.GetTable("pkg_Select_BookKindListAll.proc_Select_BookKindListAll", CommandType.StoredProcedure, cur_set))
- {
- dt = reader;
- }
- }
- catch (OracleException ex)
- {
- throw ex;
- }
- return dt;
- }
csharp: ODP.NET,System.Data.OracleClient(.net 4.0) and System.Data.OleDb读取Oracle g 11.2.0的区别的更多相关文章
- System.Data.Oracleclient需要Oracle客户端软件Version8.1.7或更高版本问题
C#连接ORACLE报System.Data.Oracleclient需要Oracle客户端软件Version8.1.7或更高版本问题: 开始Webservice在32位系统ORACLE10g库中we ...
- vs2010:【“System.Data.OracleClient.OracleConnection”已过时】警告
在oracle 安装目录下 找到 Oracle.DataAccess.dll添加引用,然后 using Oracle.DataAccess.Client;其他的都不用动,即可.连接字符串中 如有 用的 ...
- ORACLE 11.2.0.4 Single To Single Data Guard 安装 physical standby
[root@ORACLE ~]# su - oracle [oracle@ORACLE ~]$ sqlplus / as sysdba . 查看主库归档模式: SQL> select log_m ...
- 11.2.0.4 ORA-15025 ORA-27041 IBM AIX RISC System/6000 Error: 13: Permission denied
ASM device error ORA-27041 ORA-15025 ORA-15081 (Doc ID 1487475.1) 描述总结:数据库的alert中发现大量ORA-27041 ORA-1 ...
- C#连接Oracle数据库的方法(System.Data.OracleClient、Oracle.DataAccess.Client也叫ODP.net、Oracle.ManagedDataAccess.dll)
官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...
- 微軟将从 .NET 4 以后的版本弃用 System.Data.OracleClient 以及Oracle 的各种连接方法
这是微软官方 ADO.NET Team Blog 去年就公布的消息: http://blogs.msdn.com/adonet/archive/2009/06/15/system-data-oracl ...
- System.Data.OracleClient.OracleConnection已过时
解决办法如下: 1.把原来的using System.Data.OracleClient;去掉 2.在oracle安装目录下找到Oracle.DataAccess.dll 添加引用:using Ora ...
- C# VS2010中,用微软自带的System.Data.OracleClient来连接Oracle数据库
由于微软在.Net框架4.0中已经决定撤销使用System.Data.OracleClient,造成在VS2010中无法连接Oracle数据库,但它还依旧存在于.Net架构中,我们可以通过自己引用 C ...
- 微軟将弃用 System.Data.OracleClient
http://www.cnblogs.com/WizardWu/archive/2010/05/17/1737009.html 微軟将从 .NET 4 以后的版本弃用 System.Data.Orac ...
随机推荐
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
- Leetcode 刷题计划
Two Sum 21.4% Medium Given an array of integers, return indices of the two numbers such that t ...
- 七天学会ASP.NET MVC (四)——用户授权认证问题
小编应各位的要求,快马加鞭,马不停蹄的终于:七天学会 Asp.Net MVC 第四篇出炉,在第四天的学习中,我们主要了学习如何在MVC中如何实现认证授权等问题,本节主要讲了验证错误时的错误值,客户端验 ...
- Objective-C 原型模式 -- 简单介绍和使用
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建 ...
- 《Spark大数据处理》—— 读后总结
前几章 工作机制
- API调试工具推荐 - httpie
API调试工具推荐 - httpie <HelloGitHub>第07期上面看到这个python项目,好东西 文档地址 但是安装的时候报错,google之后发现是个已知的bug,直接使用p ...
- ExtJs4之Grid详细
ExtJs博客前奏 由于这段时间事情比较杂乱,博客就主要以项目中例子来说明编写. ExtJs4中的Grid非常强大,有展示,选中,搜索,排序,编辑,拖拽等基本功能,这篇博客我就这几个功能做写累述. 1 ...
- Android开发输入法遮盖屏幕底部按钮
方法一: 在你的activity中的oncreate中setContentView之前写上这个代码: getWindow().setSoftInputMode(WindowManager.Layout ...
- eclipse将android项目生成apk并且给apk签名
转载:http://www.cnblogs.com/tianguook/archive/2012/09/27/2705724.html 生成apk最懒惰的方法是:只要你运行过android项目,到工作 ...
- 【原创】开源.NET排列组合组件KwCombinatorics使用(二)——排列生成
本博客所有文章分类的总目录:本博客博文总目录-实时更新 本博客其他.NET开源项目文章目录:[目录]本博客其他.NET开源项目文章目录 KwCombinatorics组件文章目录: 1. ...