WinExec('f:\oracle\ora92\bin\exp.EXE test/test file=c:\test.dmp', SW_SHOWNORMAL);DELPHI里有一个函数ShellExecute,在USERS加上SHELLAPI
这个函数是直接运行你脚本
这是C++BU的用法,跟DELPHI是一样的。你修改一下。 ShellExecute(0, "open", "EXP system/manager FILE=EXP.DMP FULL=Y", NULL, NULL, SW_SHOWDEFAULT);
ShellExecute(0, "open", "imp system/manager FILE=EXP.DMP fromuser=user_name to user=user_name1", NULL, NULL, SW_SHOWDEFAULT);
这个函数是直接运行你脚本
这是C++BU的用法,跟DELPHI是一样的。你修改一下。 ShellExecute(0, "open", "EXP system/manager FILE=EXP.DMP FULL=Y", NULL, NULL, SW_SHOWDEFAULT);
ShellExecute(0, "open", "imp system/manager FILE=EXP.DMP fromuser=user_name to user=user_name1", NULL, NULL, SW_SHOWDEFAULT);
解决方案 »
- sql编写疑问。求大虾。。。
- 不安装oracle直接使用PLSQL
- 这个问题怎么解决 在线等
- plsql里面怎么实现如下for循环的效果?
- 如何在ORACLE中定义一个数组啊?
- 如何处理oracle存储过程中的blob参数
- 在往数据库插入数据的时候,oracle自动会停掉服务,报错:“ORA-03113: end-of-file on communication channel ”
- 一个数据库的简单问题!!!
- 在线等待!(急)关于ORACLE按插入时间排序问题
- vc如何通过ADO调用输入参数为记录类型的oracle存储过程
- 怎样可以使表中的一个字段和序列建立联系?
- 听说oracle 10g出来了,哪里有下载啊?
的系统存储过程 sp_OAcreate,sp_OAdestroy等等,oracle我不知道 3. 楼主觉得真的有必要在存储过程中调用dll文件吗? 我觉得安全性
是必须值得考虑的。
dll写出来之后在oracle里面调用是很简单的,先创建library,让oracle知道从哪个dll文件去调用,然后发布dll中的函数,用create or replace function(procedure)就可以了。
如果delphi写的dll不行的话,再用c写一个调delphi的就得了。我觉得只要是dll应该都可以的。
oracle调用dll
新建一个空的win32 dynamic_link library project.取名为testdll.加入testdll.cpp.源程序如下:#include <windows.h>int __stdcall DllMain(HANDLE,DWORD,LPVOID){ return 1;}short test(void){ return system("dir e: > e:\\mydire.txt"); }加入testdll.def:如下:LIBRARY "testdll.dll"EXPORTStest @1then click the bulid.get the testdll.dll.copy to e:\打开sql plus.登录(最好不要用internal身份登录).建立一个包:SQL> create or replace library wz_test 2 as 'e:\testdll.dll'; 3 /建一个function:SQL> create or replace function wz_funtest 2 return binary_integer 3 as 4 external 5 library wz_test 6 name "test" 7 language c 8 parameters (return short); 9 /建一个表SQL>create table ff(addr varchar2(20));建立一个trigger:SQL> create or replace trigger my_test_trigger after insert on ff 2 declare 3 my_result binary_integer; 4 begin 5 my_result :=wz_funtest; 6 end; 7 /现在SQL>insert into ff values('chengdu');然后在e盘看看是不是多了一个文件.可以把我的dll中test函数改一下:用FindWindowEx,SendMessage跟自己程序通信或者直接用socket通信.嘻嘻,如果有转载的话,请署上zheng017的大名哈..<转载完>但这是调用c/c++,如果能直接调用delphi的就好了...希望有成功的能通知一下大家