类型:音频处理大小:1M语言:中文评分:5.1标签:立即下载我的hibernate.cfg.xml代码hibernate.cfg.xml 1?可扩展标记语言版本='1.0 '编码='utf-8 '?2休眠-配置xmlns=' urn :休眠-配置-2.2 ' 3会话-工厂4属性名='连接。提供商的nhibernate。连接。driversconnectionprovider/属性5属性名='连接。司机等级' NHibernate.Driver.OracleDataClientDriver/property6属性名='连接。connection _ string ' 7数据源=GXLX193用户id=LX mispassword=LX mis8/property 9属性名称=' adonet。batch _ size ' 10/property 10属性名称='连接。“release _ mode”自动/属性11属性名称='show_sql'true/property12属性名称=' use _ outer _ join ' true/属性13属性名称='方言NHibernate .方言。Oracle10gDialect/property14属性名=' command _ time out ' 10/property 15属性名='查询。替换'真1,假0,是'是',否'否'/属性16属性名='代理工厂。工厂级nhibernate。字节码。卡塞尔。代理工厂,NHibernate。ByteCode.Castle/property17属性名=' hbm2ddl。关键字'无/属性18映射程序集=' Model '/19/会话-工厂20/休眠-配置我的hbm.xml.hbm.xml代码1?可扩展标记语言版本='1.0 '编码='utf-8 '?2 hibernate-mapping xmlns=' urn : hibernate-mapping-2.2 ' assembly=' Model '命名空间=' Model ' 3 SQL-查询名称=' Dualsa ' 4 { Call pro _ Getalla(:k)} 5/SQL-查询6 SQL-查询名称=' AAA ' 7从t _ PARAMS a10/SQL-查询11/休眠-映射12中选择a.FID作为标识,8 a .参数值作为va9我的错误代码一类程序2 {3静态void Main(字符串[]args)4 { 5 isesession _ ISeesion=new session manager().getSession();6 IQuery q=_ISeesion .GetNamedQuery(' Dualsa ');7 IList list=q.SetInt32('k ',0).list();8 }9 }错误信息是:消息='无法执行查询rn[ {call up_test (:p0,p1) } ]rn名称:品脱-值:100名称:pString -值: hello r n[SQL : { call up _ test(: p 0, P1)}]ORA-009113:无效字符为了说明我能执行其他的,我试了调用美国汽车协会是正常的,可以执行有结果我的正确代码类程序{ static void Main(string[]args){ isesession _ ISeesion=new session manager().getSession();IQuery q=_ISeesion .GetNamedQuery(' AAA ');IList List=q . List();//正确有结果的}}我的储存过程一创建或替换过程pro _ GetAlla(my _ cursor out sys _ ref cursor,k int ) as2 begin3打开我的光标,用于从T_PARAMS a中选择a.FID作为标识,4 a .参数值作为va56 end pro _ GetAllA
我改用另一种方法了,属性名='连接。driver _ class ' NHibernate。Driver.OracleDataClientDriver/property改回原来的OracleClientDriver去掉甲骨文。DataAccess.dll的引用直接使用isesession _ ISeesion=新会话管理器().getSession();IDbCommand _cmd=_ISeesion .连接。create命令();_cmd .CommandText=' pro _ GetAllA_cmd .命令类型=命令类型存储过程系统数据。oracleclient。oraclecommandbuilder。deriveparameters(系统数据。oracleclient。oraclecommand()_ cmd);IDataReader _ IDReader=_ cmd .ExecuteReader();对象[] _o=新对象[_IDReader .字段COunt];while (_IDReader).read()){ for(int I=0;i _IDReader .field counti)_ o[I]=_ IDreader[I];}