如何依赖数据库服务完成预编译

如何依赖数据库服务完成预编译,第1张

// DBMScpp : 定义控制台应用程序的入口点。

//

#include "stdafxh"

#include<stdioh>

#include<iostream>

#include<string>

using namespace std;

EXEC SQL BEGIN DECLARE SECTION;

char department[20];

char HSno[9];

char HSname[20];

char HSsex[2];

int HSage;

int NEWAGE;

EXEC SQL END DECLARE SECTION;

long SQLCODE;

EXEC SQL INCLUDE sqlca;//定义SQL通信区

int main()

{

int count=0;

char yn;

printf("Please choose the department name(CS/MA/IS):");

scanf("%s",&department);

EXEC SQL CONNECT TO TEST@localhost:54321 USER "SYSTEM"/"MANAGER";//连接到数据库服务器

EXEC SQL DECLARE SX CURSOR FOR/定义游标SX/

SELECT Sno,Sname,Ssex,Sage

FROM Student

WHERE Sdept=:department;

EXEC SQL OPEN SX;

for(;;)

{

EXEC SQL FETCH SX INTO :HSno,:HSname,:HSsex,:HSage;

if(sqlcasqlcode!=0)

{

break;

}

if(count++==0)

printf("\n% -10s % -20s % -10s % -10s\n","Sno","sname","Ssex","Sage");

printf("% -10s % -20s % -10s % -10d \n",HSno,HSname,HSsex,HSage);

printf("UPDATE AGE(y/n)");

do

{

scanf("%c",&yn);

}

while(yn!='N'&&yn!='n'&&yn!='Y'&&yn!='y');

if(yn=='y'||yn=='Y')

{

printf("INPUT NEW AGE:");

scanf("%d",&NEWAGE);

EXEC SQL UPDATE Student

SET Sage=:NEWAGE

WHERE CURRENT OF SX;

}

}

EXEC SQL CLOSE SX;

EXEC SQL COMMIT WORK;

EXEC SQL DISCONNECT TEST;

}

可以用来重编译数据库的所有无效对象通常我们会在Oracle的升级指导中看到这个脚本,Oracle强烈推荐在migration/upgrade/downgrade之后,通过运行此脚本编译失效对象脚本位于$ORACLE_HOME/rdbms/admin目录你可以看到utlrpsql只是调用utlprpsql,utlrpsql在调用utlprpsql的时候会传递给它一个参数,默认为0,这个参数其实就是并行度,其实utlprpsql调用的是utl_recomprecomp_parallel:

0 - 基于CPU_COUNT参数设置并行度

1 - 以串行方式编译对象,一次编译一个

N - 以N个并行度进行编译

脚本需要以sys用户或者有sysdba权限的用户来运行

首先:Access 打包软件并不能将自己编写的 Access 数据库(mdb或者mde)转换成单独可以运行的一个可执行文件(exe)。

其次:Access 开发版中的打包软件只是其中的一个组件而已。

再次:Access 开发版的打包软件的打包过程如下:

1、它会根据要求生成3种不同大小的 Access Runtime版本。

① 只包括AccessRuntime。

② 包括 AccessRuntime 和 Windows 安装服务程序以及其他数据库访问组件还有IE41。

③ 包括上述所有内容再加上IE51。

2、压缩并打包数据库(mdb,mde…)以及你的数据库运行所需的文件,也就是Access中没有的文件,比如自己用的背景、附件等等。

最后:所以如果真的需要将自己的数据库打包发布,完全没有必要使用难以得到的 Access 开发版,只需要得到 Access的运行时版本和将你自己的mdb文件压缩打包就可以了。也就是说,AccessRuntime 本身在 Office的安装光盘里面就有,而压缩打包的软件也是到处都有,比如推荐 WinRAR30。

3、所以,得出的结论是:如果想得到 Access 的开发版,而其用途只是为了使用其中的打包工具,那么根本没有必要去苦苦寻觅,在身边的软件就已经能够完成上述的工作了。

4、有关 Access Runtime 软件的具体位置:Access Runtime 2002 的安装文件在 OfficeXP 光盘的如下位置:光盘盘符:\FILES\MOD\ACCESSRTMSI。

在新的机器上安装 Access Runtime 2002 后仍然无法正常打开编写好的数据库,这主要是因为他们还没有安装数据库访问组件,该组件共 19 个文件 255MB。安装时会提示缺少 IE5 。我直接用 IE5 代替即可,就是建立如下目录:

比如:OSPMSI 在 c:\AccessRuntime2002\OSPMSI 的位置,就请自行将 IE5 的所有文件拷贝至 c:\AccessRuntime2002\IE5\SC 下面就可以正常安装了。

以上就是关于如何依赖数据库服务完成预编译全部的内容,包括:如何依赖数据库服务完成预编译、oracle数据库能不能编译模式运行脚本、Access数据库:能否编译mdb文件到exe文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9456659.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存