目录
- 关于使用MSSM访问Oracle数据库
- 关于. net 程序中连接Oracle数据库
志铭-2021年12月7日 21:22:15
关于使用MSSM访问Oracle数据库
- 安装访问接口组件:OraOLEDB.Oracle官网可以下载,但是需要注册
- 下载地址:https://pan.baidu.com/s/1OpYmpReEJcPg4wNESWy61Q要求服务器至少安装. net2.0和. net3.29165
- 我本机win10,SQLSERVER2019
在修改了环境变量后,不需要修改注册表的操作
创建链接服务器时,数据源参数IP/sid ,不需要使用端口
参考2: https://blog.csdn.net/weixin_42996498/article/details/88717706
关于. net 程序中连接Oracle数据库
-
使用Oracle.ManagedDataAccess.Client.dll
该程序集对.net无版本要求
- nuget:Install-Package Oracle.ManagedDataAccess -Version 19.13.0
- 注意我没有使用最新21.4.0版本,该最新版本依赖另外一个类库System.Text.Json (>= 5.0.2),而且对.net版本有要求
注意:注意不要使用System.Data.OracleClient,vs会提示过时
关于Oracle数据库连接字符串格式参考:
<connectionStrings><add name=\"connStringForOracle\" connectionString=\"user id=用户ID;password=密码;data source=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=服务IP地址)(PORT=端口号))(CONNECT_DATA=(SERVER=服务名)(SERVICE_NAME=服务名)))\" /></connectionStrings>
简易的封装一个Oracle辅助类:
//添加命名空间:using Oracle.ManagedDataAccess.Client;public class OracleHelper{private static readonly string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings[\"connStringForOracle\"].ToString();//创建连接对象public static OracleConnection GetConn(){var conn = new OracleConnection(connectionString);conn.Open();return conn;}//执行非查询语句返回受影响行数public static int ExecuteNoQuery(string sql,CommandType type=CommandType.Text,params SqlParameter[] param){using (var conn = GetConn()){using (OracleCommand cmd=new OracleCommand (sql,conn)){if (null!=param){cmd.Parameters.AddRange(param);}cmd.CommandType = type;return cmd.ExecuteNonQuery();}}}//返回查询结果的第一行第一个单元格的数据public static object ExecuteScalar(string sql,CommandType type=CommandType.Text,params SqlParameter[] param){using (var conn = GetConn()){using (OracleCommand cmd=new OracleCommand(sql,conn)){if (null!=param){cmd.Parameters.AddRange(param);}cmd.CommandType = type;return cmd.ExecuteScalar();}}}//返回查询结果集public static DataSet GetDataSet(string sql, CommandType type = CommandType.Text, params SqlParameter[] param){using (var conn = GetConn()){using (OracleDataAdapter adapter = new OracleDataAdapter(sql, conn)){if (null != param){adapter.SelectCommand.Parameters.AddRange(param);}adapter.SelectCommand.CommandType = type;DataSet ds = new DataSet();adapter.Fill(ds);return ds;}}}}