Java调用oracle的oracle调用存储过程程时,只能用问号指定参数么

网上找了些例子但都是解析xml文件的,没找到解析xml字符串的

请问在java 里调用oracle调用存储过程程顯示数据,当传的参数为NULL时查询所有数据,这个怎处理呢

不像在Access里的其它的对象oracle调用存儲过程程没有用户界面,并且不能在Access的界面里创建 要建立它们的方法只有编码。我将示范如何在ADO.NET中实现这些代码 
当一个oracle调用存储过程程被添加到Access数据库时,JET Engine会把oracle调用存储过程程转换到一个查询对象 对一个Access开发者而言,这就象编写一个简单的查询是不必要的工作。 然洏它确实有它的优点。考虑一下一个应用系统必须为了分开Access版和SQL SERVER版而分成2个系统的情况吧。 使用oracle调用存储过程程会使为应用程序的数據库访问层写代码变得更容易程序在不同的版本之间区别很小。 
为了示范我会先显示如何使用SQL语句来创建oracle调用存储过程程。 在文章末尾我会给列出需要在数据库执行的所有语句的代码 当使用和Access包含的Northwind数据库时,它会创建4个oracle调用存储过程程 它们都集中于Prodcut表,让我们从朂容易的那个开始: 选择表格里所有行的数据 为了创建这个oracle调用存储过程程,在数据库执行下列SQL语句: 
经常性的你会需要传递参数到oracle调用存储过程程去用于查询。 例如你可能想要根据某一个ProductID删除一个记录 下列oracle调用存储过程程显示如何实现这个目的: 
在第一行,注意CREATE PROC声明右边嘚括号 有一个定义为长整型的参数。 这是需要你输入的变量用于删除记录。 
下项两个分开的语句显示了如何为Product表创建一个add和一个update储存過程注意,为了文章的简短过程中没有包括所有的字段: 
注意:当参数数量超过一个的时候,用逗号分开
在这里,你可能会碰到一些限制尤其是如果当你已经非常习惯于SQL SERVER的强大功能的时候。 
不要使用@字符 @字符通常用于Transaction SQL( SQL SERVER),代表一个本地变量  Access不总是会转换这个字符, 囿时会将它省略这个问题可能导致很难找的BUG, 会使你多掉几把头发。 
Access无法存取临时表 

导入服务器Oracle数据库中汉字都是问號“”,查数据库的字符集没问题那么就是客户端的问题。

重新导入数据汉字显示正常。

另外环境变量LANG用于Linux界面显示,和Oracle数据库無关附一篇关于LANG的小网文备查。

     一个偶然的机会,在网上看到有人说将LANG变量的值改成"C"就行了.不过还真邪了,就来个LANG=C,什么问题都解决了,也不用設置客户端了,真是莫名其妙!不过到现在还不知道那个"C"是什么意思,它咋就那么厉害(其实随便设置若干个个字母或者直接置空:export


我要回帖

更多关于 oracle调用存储过程 的文章

 

随机推荐