oracle预编译
A. oracle 存储过程中的sql语句可以象java一样写成预编译吗
如果加载一些内容,加载设置算的话,可以的,就是格式语言啥的不一样
B. 如何调试oracle存储过程
PL/SQL中为我们提供了调试存储过程的功能,可以帮助你完成存储过程的预编译与测试。 点击要调试的存储过程,右键选择TEST 如果需要查看变量,当然调试都需要。在右键菜单中选择Add debug information. start debugger(F9)开始我们的测试,Run(Ctrl+R) 随时在varible List中输入我们想查看的变量 其它: Step into(Ctrl+N):单步调试,进入下一步 Step over(Ctrl+O):结束该语句 Step out(Ctrl+T):跳出该过程 Run to next exception:进入下一个断点Breakpoint Toggle Breakpoint设置断点:光标指向一行,Ctrl+B;或鼠标点中该行的行号边缘
C. oracle数据库连接语句怎么写
public void testOracle()
{
Connection con = null;// 创建一个数据库连接
PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement
ResultSet result = null;// 创建一个结果集对象
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
System.out.println("开始尝试连接数据库!");
String url = "jdbc:oracle:" + "thin:@127.0.0.1:1521:XE";// 127.0.0.1是本机地址,XE是精简版Oracle的默认数据库名
String user = "system";// 用户名,系统默认的账户名
String password = "147";// 你安装时选设置的密码
con = DriverManager.getConnection(url, user, password);// 获取连接
System.out.println("连接成功!");
String sql = "select * from student where name=?";// 预编译语句,“?”代表参数
pre = con.prepareStatement(sql);// 实例化预编译语句
pre.setString(1, "刘显安");// 设置参数,前面的1表示参数的索引,而不是表中列名的索引
result = pre.executeQuery();// 执行查询,注意括号中不需要再加参数
while (result.next())
// 当结果集不为空时
System.out.println("学号:" + result.getInt("id") + "姓名:"
+ result.getString("name"));
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
// 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
// 注意关闭的顺序,最后使用的最先关闭
if (result != null)
result.close();
if (pre != null)
pre.close();
if (con != null)
con.close();
System.out.println("数据库连接已关闭!");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
D. oracle存储过程有什么好处
1。预编译,已优化,效率较高。避免了SQL语句在网络中传输然后再解释的低效率。
2。如果公司有专门的DBA,写存储过程可以他来做,程序员只要按他提供的接口调用就好了。这样分开来做,比较清楚。
3。修改方便。嵌入在程序中的SQL语句修改比较麻烦,而且经常不能肯定该改的是不是都改了。SQLSERVER上的存储过程修改就比较方便,直接改掉该存储过程,调用它的程序基本不用动,除非改动比较大(如改了传入的参数,返回的数据等)。
4。会安全一点。不会有SQL语句注入问题。
当然,也有缺点。特别是业务逻辑比较复杂时,全用存储过程来写,估计也累的够呛。
■SQL存储过程执行起来比SQL命令文本快得多。当一个SQL语句包含在存储过程中时,服务器不必每次执行它时都要分析和编译它。
■调用存储过程,可以认为是一个三层结构。这使你的程序易于维护。如果程序需要做某些改动,你只要改动存储过程即可
■你可以在存储过程中利用Transact-SQL的强大功能。一个SQL存储过程可以包含多个SQL语句。你可以使用变量和条件。这意味着你可以用存储过程建立非常复杂的查询,以非常复杂的方式更新数据库。
E. java连接Oracle数据库预编译写法简写
。。首先这个地方不该图这个省事,到时候一堆1234谁查是什么类型啊。。其次你用ide的话可以直接悬停看到这些常量的值的啊。要是实在不行你还可以写个main直接输出的啊。。
F. vc++连接oracle数据库
1、VC++采用OO4O方式连接Oracle数据库
COM(Component Object Model)是微软在基于Window平台上,实现软件的构件化设计和软件再利用的一种技术策略。OO4O是基于组件对象模型的技术,能和Oracle数据库进行无缝连接和优化访问的一组编程对象的集合。自上而下层次关系如下: Visual C++oracle data control oracle c++ class library automation controllers microsoft ole oracle object server
oraclient oradynaset
orasession orasql stmt
oraconnection orafield
oradatabase oraparameter Oracle Call Interface(OCI) SQL * NET and Network Oracle DBMS
2、Visual C++ 采用ODBC方式连接Oracle数据库
ODBC(Open Database Commectivity 开放数据库连接)是解决异种数据库访问的问题,减少了数据库访问的复杂性,提高了数据库的独立性。在微软封装ODBC功能的MFC类:CDatabase CRecordset CRecordView CDBException。 用ODBC开放的程序 Microsoft驱动程序管理
ODBC驱动程序1 ODBC驱动程序2 ODBC驱动程序3
数据库1 数据库2 数据库33、采用Pro*C方式连接Oracle数据库
Pro*C是Oracle公司提供的在第三代高级程序设计语言中嵌入SQL语句来访问数据库的一套预编译程序,利用Oracle公司提供的工具生成高级语言格式的源程序,然后就可以将这些源程序加入用户的程序中。4、三种方法的比较
(1)3中方法的数据访问应用程序接口特性:OO4O在开放性、可视化开放、Oracle的连接能力方面比较好,但只适用于Oracle数据库。 (2)3中方法的性能特性比较:Pro*C运行速度最快,其次是OO4O,最后是ODBC;难易程度上说,ODBC最容易,其次是OO4O,最难是Pro*C。
(3)3中方法的技术特性比较:OO4O和ODBC在编程上采用面向对象技术,在和Oracle连接时通过调用Oracle OCI C Library来实现,应用程序在封装性、继承性和程序的再利用方面存在优势。而Pro*C属结构化编程语言,它直接调用Oracle SQL Lib来实现和数据库的连接,这种方式在早期使用较多。
G. oracle批量执行sql文件为什么快
因为可以把批量的sql进行预编译 放在数据库内存中 如果调用 直接向数据库发送命令就可以了
H. c程序通过什么连接oracle
一般c语言连接oracle数据库通过使用oracle提供的OCI接口和PROC编程接口两种方式。
OCI方式纯粹是一些函数接口。
PROC是oracle提供的一种C与ORACLE SQL的混合编程。程序(以.pc为后缀)编好之后,使用oracle提供的proc预编译程序,将pc文件编译成c文件(这一过程,相当于将SQL转换为OCI的接口),然后再使用c语言编译器生成可以执行文件。
OCI方式不容易入门,它拥有大量的接口函数,要很快熟悉它,非常难。但OCI方式的编程效率很高。
porc方式简单易用。可用于对性能要求不太高的项目。
I. oracle rownum=1与rownum<2;哪个效率更高
一样的,
oracle把提交上来的sql语句进行预编译,结果都是取第一行的数据。
J. oracle的存储过程 存储机制
Oracle储存过程是预编译机制,编译后的过程以后调用就不需要解析了,就直接执行,所以效率是比较高的。