转自:http://blog.csdn.net/rrrrssss00/article/details/5757301
ddtek.oracle.dll 可以不安装Oracle客户端,直接使用其来登录Oracle服务器,
使用上,与OracleClient基本相同,但在OracleCommand的Parameter定义和使用上略有不同,如下:
OracleClient:
OracleCommand mCmd = new OracleCommand("insert into " + sTable + "(test1,test2) values('111',:mBlob)", mCon); mCmd.Parameters.Add("mBlob", OracleType.Blob, blob.Length).Value = blob; return mCmd.ExecuteNonQuery();
ddtek
OracleCommand mCmd = new OracleCommand("insert into " + sTable + "(test1,test2) values('111',?)", mCon); mCmd.BindByName = true; mCmd.Parameters.Add(":mBlob", OracleDbType.Blob, blob.Length).Value = blob; return mCmd.ExecuteNonQuery();
DDTEK里,SQL语句中使用?代替变量,下边按照Parameters数组中的顺序依次赋值
转自:http://www.cnblogs.com/zhahost/archive/2012/05/18/2508085.html
今天发现一个好东西:DataDirect(DDTek),官方网站:http://www.datadirect.com
ddtek.oracle.dll 可以不安装Oracle客户端,直接使用其来登录Oracle服务器,
数据库连接(后面一种为双机集群):
var conn = new DDTek.Oracle.OracleConnection(); conn.ConnectionString = "Host=172.16.1.32;Port=1521;User ID=slmesuser;Password=slmesuser;Service Name=tqmes"; conn.Open();
string conStr = "Host=10.0.1.1;Port=1521;User ID=scott;Password=tiger; Service Name=ORCL;Alternate Servers=(Host=10.0.1.2;Port=1521;Service Name=ORCL)";
访问数据库方式和其他的类似:
var cmd = conn.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = "select * from tb_factory"; //cmd.CommandTimeout = 500000; var reader = cmd.ExecuteReader(); var dtable = new DataTable("mytable"); dtable.Load(reader); conn.Close();
性能方面,因为其原理是底层接收并解析oracle通讯包,所以说比较好,有人测试过。但我测试一个负责视图查询(视图套视图,10个左右),查询和ODP.NET类似。
DDTek不是免费的,可以试用一段时间,不过加密方式不敢恭维。可以采取改变licence文件来达到破解效果。
备用下载:http://files.cnblogs.com/zhahost/DDTek.Oracle.zip