Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

怎样通过ADO将存储过程运到oracle上去?

王同  发表于:2009-02-05 12:45:06  
复制

总部的Oracle库每天清空,所以创建的表、创建的存储过程第二天通通被删。

不知道能不能将存储过程通过ODBC传过去,然后运行呢?

access能不能支持在远端数据库(oracle)一起运行若干句SQL(包括建临时表、复杂的查询等,大概15句SQL语句才能搞定)呢?我想开发这样的界面,用户输入参数,然后将参数传递到SQL中的where中去,acesss的将生成的SQL(或存储过程)传递到数据库上,运行结果在客户端显示出来(比如直接显示EXCEL表格)。请教高手给个思路,谢谢。

 

Top
ACMAIN.CHM 发表于:2009-02-05 22:05:43

不知道能不能将存储过程通过ODBC传过去,然后运行呢?

 

 不能!

 

access能不能支持在远端数据库(oracle)一起运行若干句SQL(包括建临时表、复杂的查询等,大概15句SQL语句才能搞定)呢?

 

 

  conn.execute "create table a(id varchar(20));create or replace procude ....."

 

  或者 shell "sqlplus uid/pswd@tnsname my.sql"

 

 

运行结果在客户端显示出来(比如直接显示EXCEL表格)。

  要显示什么? 运行结果只能有一个,要么你create table的OK结果,要么返回一个记录集(select)。你可以通过ODBC的linkTable显示这些表中的数据。

 

 

 



王同 发表于:2009-02-06 08:16:23

shell方法比较陌生,能不能将参数传递到my.sql里呢?我的用意是将参数通过窗口控件由客户输入,传递到后台的where子句,然后运行。

conn.execute我先查查用法,再请教。

谢谢!

 

 



王同 发表于:2009-02-06 08:59:13

问一个很菜的问题:我想查一下conn.execute,在access中用F1搜做,怎么查出来的都是别的内容?

有什么好办法没有?

conn.execute是在ado章节还是别的章节找,查不到啊



王同 发表于:2009-02-06 09:00:26
要显示的不是OK结果,就是最终的结果。。。select。。。,中间的返回结果都不要。所以我还是觉得存储过程更合适一点,可惜不能传递到oracle去。

王同 发表于:2009-02-06 09:03:00

替代方案:使用 SQL 语句

ADO 还允许使用命令作为其用于编辑数据的内置属性和方法的替代方案。在这一章中提到的所有操作也可以通过向数据源传递命令来完成,这取决于提供者。例如,SQL UPDATE 语句可以用来修改数据,而不用使用 FieldValue 属性。可以用 SQL INSERT 语句将新记录添加到数据源,而不需要使用 ADO 方法 AddNew。有关 SQL 或提供者的数据操作语言的详细信息,请参阅数据源文档。

例如,可以将包含 DELETE 语句的 SQL 字符串传递给数据库,以下代码显示了该方法:

'BeginSQLDelete
strSQL = "DELETE FROM Shippers WHERE ShipperID = " & intId
objConn.Execute strSQL, , adCmdText + adExecuteNoRecords
'EndSQLDelete
 
找到了这个信息,但是使用conn.execute作为关键字在F1找,居然没找到,为什么?


王同 发表于:2009-02-06 19:39:12

高手,再帮我一次!



总记录:6篇  页次:1/1 9 1 :