我有一个公共类,需要将其保存为Oracle中的Blob。我构建了DataLayer使其能够与Oracle或MySQL一起使用,因此DBType是添加参数的标准方法。现在的问题是,由于数据层被编写为不可知的,因此在创建参数时我正在使用DBType。但是,当您在oracle中创建blob参数时,通常人们会使用OracleDBType。没有DBType.blob。我尝试使用DBType.object,但这给了我一个错误。
IDbCommand command = ProviderManager.factory.CreateCommand();
command.CommandText = commandText;
command.Connection = connection;
command.CommandType = commandType;
DbParameter dbParam = ProviderManager.factory.CreateParameter();
dbParam.ParameterName = "Summary";
dbParam.Value = batchSummary;
dbParam.Direction = parameterDirection;
dbParam.DbType = DbType.Object;
command.Parameters.Add(dbParam);
command.ExecuteNonQuery();
这是我收到的错误:
Oracle.ManagedDataaccess.Client.OracleException:'不支持的列数据类型'