C# 中使用Oracle语句时报错 本帖最后由 anshien 于 2010-11-17 11:03:05 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 都提示遇到不支持的 Oracle 数据类型,那你就检查一下TBL_MONITOR中的数据类型啊 看看TBL_MONITOR表的定义在PL/SQL里执行那条SQL语句是否正常? 在SqlPlus worksheets中运行正常 我没用过Oracle,是否有.net中不支持的Oracle数据类型?如果有就换成支持的数据类型哈 com1.CommandText = "select * from TBL_MONITOR";//在这里报错 //错误类型描述:遇到不支持的 Oracle 数据类型 101。应该不是这儿的错误,具体的不太清楚,建议你仔细调试一下 public static DbConnection Conn = null; private static readonly string dataProvider = ConfigurationManager.AppSettings.Get("DataProvider"); private static readonly DbProviderFactory Provider = DbProviderFactories.GetFactory(dataProvider); private static readonly string connectionString = ConfigurationManager.ConnectionStrings[dataProvider].ConnectionString; public static int ExecuteNonQuery(CommandType cmdType, string cmdText, params DbParameter[] commandParameters) { return ExecuteNonQuery(connectionString, cmdType, cmdText, commandParameters); } public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params DbParameter[] commandParameters) { DbCommand cmd = Provider.CreateCommand(); using (DbConnection conn = Provider.CreateConnection()) { try { conn.ConnectionString = connectionString; PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); //DbHelper.Conn = conn; return val; } catch { throw; } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } conn.Dispose(); } } } Google你的错误信息就有解决方案的啊LZ太懒了啊 我给你贴一个吧 遇到不支持的oracle数据类型101 :说明数据库表中有个别字段的字段类型无法识别,重新设定一下就可以了比如:将表中的binary_double类型修改为number类型即可解决问题。 向获取焦点的combox中添加项 求cos值算法 [请问]DevExpress.XtraGrid.GridControl控件的结构是怎样的?(第一次发求助帖,100分) 精确的LOADING,多线程示例(带源码) 关于短信接口的问题 希望高手能帮忙下 跪求了。 XML 以下C++代码在C#中如何调用 请教一下c#中变量声明中的*和&分别是什么意思? 辞旧迎新,散掉所有分(208分,分两贴),但愿赶走今年的晦气,明年会更好!!!顺便问一下。。 数据库问题,请帮忙看看. asp .net的多选按钮问题 请问:怎么判断一个字符是全格还是半格?
我没用过Oracle,是否有.net中不支持的Oracle数据类型?如果有就换成支持的数据类型哈
//错误类型描述:遇到不支持的 Oracle 数据类型 101。
应该不是这儿的错误,具体的不太清楚,建议你仔细调试一下
public static DbConnection Conn = null; private static readonly string dataProvider =
ConfigurationManager.AppSettings.Get("DataProvider");
private static readonly DbProviderFactory Provider =
DbProviderFactories.GetFactory(dataProvider);
private static readonly string connectionString =
ConfigurationManager.ConnectionStrings[dataProvider].ConnectionString;
public static int ExecuteNonQuery(CommandType cmdType, string cmdText, params DbParameter[] commandParameters)
{
return ExecuteNonQuery(connectionString, cmdType, cmdText, commandParameters);
} public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params DbParameter[] commandParameters)
{ DbCommand cmd = Provider.CreateCommand(); using (DbConnection conn = Provider.CreateConnection())
{
try
{
conn.ConnectionString = connectionString;
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
//DbHelper.Conn = conn;
return val;
}
catch
{
throw;
}
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close(); }
conn.Dispose();
}
}
}
LZ太懒了啊
我给你贴一个吧 遇到不支持的oracle数据类型101 :
说明数据库表中有个别字段的字段类型无法识别,重新设定一下就可以了比如:将表中的binary_double类型修改为number类型即可解决问题。