//在vs里面安装ODP.NET连接oracle数据库
在程序包管理器控制台里面输入命令:
Install-Package Oracle.ManagedDataAccess
相关网址:
https://www.nuget.org/packages/Oracle.ManagedDataAccess/12.1.24160719http://www.oracle.com/technetwork/cn/indexes/downloads/index.html#middleware
后台操作oracle语法:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using Oracle.ManagedDataAccess.Client;
using Oracle.ManagedDataAccess.Types;
namespace DataDAL
{
public class TrainDAL
{
/// <summary>
/// 事务,批量保存火车过衡数据列表,返回插入的数据行数
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public int AddList(List<CoalByTrain> list)
{
int count = 0;
OracleConnection connection = null;
OracleTransaction tran = null;
try
{
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
connection = new OracleConnection(conn);
connection.Open();
tran = connection.BeginTransaction();
foreach (var item in list)
{
string sql = "insert into COALBYTRAIN(coalbytrainid,measuretime,vehicleno,billweight,GROSSWEIGHT,TARE,TRAINTYPE,SEQUENCENO)"
+ " values(COALBYTRAIN_SEQ.NEXTVAL,to_date(:GuoHengTime,'yyyy-mm-dd hh24:mi:ss'),:vehicleno,:billweight,:GROSSWEIGHT,:TARE,:TRAINTYPE,:SEQUENCENO)";
OracleCommand cmd = new OracleCommand(sql, connection);
cmd.Parameters.Add(new OracleParameter(":GuoHengTime", item.GuoHengTime));
cmd.Parameters.Add(new OracleParameter(":vehicleno", item.TrainNo));
cmd.Parameters.Add(new OracleParameter(":billweight", item.BiaoWeight));
cmd.Parameters.Add(new OracleParameter(":GROSSWEIGHT", item.GrossWeight));
cmd.Parameters.Add(new OracleParameter(":TARE", item.Tare));
cmd.Parameters.Add(new OracleParameter(":TRAINTYPE", item.TrainType));
cmd.Parameters.Add(new OracleParameter(":SEQUENCENO", item.SeqNo));
cmd.Transaction = tran;
count += cmd.ExecuteNonQuery();
}
tran.Commit();
}
catch (Exception ex)
{
count = 0;
if (tran != null)
{
tran.Rollback();
}
string msg = ex.Message;
}
finally
{
if (tran != null)
{
tran.Dispose();
}
if (connection != null)
{
connection.Close();
connection.Dispose();
}
}
return count;
}
}
}