aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 15355|回复: 13

连接oracle数据

[复制链接]

6

主题

38

回帖

361

积分

二级会员

积分
361
发表于 2013-6-5 15:44:25 | 显示全部楼层 |阅读模式
根据论坛上几个高手的帖子,做了一个小测试,连接oracle数据库,好用。

import com

import console;
conn = com.CreateObject("ADODB.Connection");
conn.ConnectionString = "Provider=OraOLEDB.Oracle;
                         Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.13)(PORT=1521))(CONNECT_DATA =(SERVER=DEDICATED)(SERVICE_NAME=实例名)));
                         User Id=用户名;Password=密码;";
conn.Open() ;

rs = com.CreateObject("ADODB.RecordSet")
rs.Open("select * from privatepara order by pparaid", conn )

while(!rs.eof){
    console.log(
            string.trimright( rs("pparaid").value ),
            string.trimright( rs("pparaname").value ),
            string.trimright( rs("pparavalue").value )
    )
    rs.movenext()
}
rs.close();

conn.Close();
/*
"Provider=OraOLEDB.Oracle; Data Source=
  (DESCRIPTION =
    (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))
    (CONNECT_DATA = (SERVICE_NAME = oraapp))
  );User Id=testuser;Password=testuser;"
  
*/

8

主题

58

回帖

451

积分

二级会员

积分
451
发表于 2013-6-6 00:29:01 | 显示全部楼层
多谢分享

6

主题

51

回帖

574

积分

三级会员

积分
574
发表于 2013-6-6 21:59:17 | 显示全部楼层
不错,学习

0

主题

24

回帖

132

积分

一级会员

积分
132
发表于 2013-6-11 13:41:27 | 显示全部楼层
oracle暂时用不上,我用小小的sqlite就够了,谢谢分享~~

0

主题

18

回帖

158

积分

一级会员

积分
158
发表于 2013-10-14 22:24:09 | 显示全部楼层
谢谢分享!!

0

主题

5

回帖

72

积分

一级会员

积分
72
发表于 2013-11-13 14:26:36 | 显示全部楼层
测试可以使用非常感谢,但是这个代码运行时该系统必须安装Oracle的运行时或客户端,不然还是没有办法运行。不知道有什么办法不用安装客户端。

6

主题

38

回帖

361

积分

二级会员

积分
361
 楼主| 发表于 2013-11-21 07:29:52 | 显示全部楼层
轩辕小妖 发表于 2013-6-11 13:41
oracle暂时用不上,我用小小的sqlite就够了,谢谢分享~~

总有一天你会用到的,哈哈,大约就在明天

6

主题

38

回帖

361

积分

二级会员

积分
361
 楼主| 发表于 2013-11-21 07:32:35 | 显示全部楼层
zafttianjiao 发表于 2013-11-13 14:26
测试可以使用非常感谢,但是这个代码运行时该系统必须安装Oracle的运行时或客户端,不然还是没有 ...

不装oracle有的程序可以,有的好像不行,需要几个dll的支持,放在自己程序的exe相同目录oci.dll/ociw32.dll/ocijdbc10.dll/orannzsbb10.dll/oraocci10.dll/oraociicus10.dll这些事对应oracle10的,其他版本可以类似参考

0

主题

5

回帖

72

积分

一级会员

积分
72
发表于 2013-11-21 09:09:48 | 显示全部楼层
starvv_w 发表于 2013-11-21 07:32
不装oracle有的程序可以,有的好像不行,需要几个dll的支持,放在自己程序的exe相同目录oci.dll/ociw32.d ...

非常感谢,第一次接触桌面编程,对很多基础都不是很了解。

0

主题

3

回帖

43

积分

新手入门

积分
43
发表于 2013-12-12 18:55:07 | 显示全部楼层

谢谢分享!!

2

主题

10

回帖

86

积分

一级会员

积分
86
QQ
发表于 2014-1-19 23:52:19 | 显示全部楼层
现在有在用一个oracle工具。青云Oracle数据库工具。不知道它的实现原理是什么。它不需要oracle的动态库

6

主题

38

回帖

361

积分

二级会员

积分
361
 楼主| 发表于 2014-4-16 21:58:45 | 显示全部楼层
增加执行过程的方法:

  1. import com

  2. import console;
  3. conn = com.CreateObject("ADODB.Connection");
  4. conn.ConnectionString = "Provider=OraOLEDB.Oracle;
  5.                          Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA =(SERVER=DEDICATED)(SERVICE_NAME=test_db)));
  6.                          User Id=system;Password=future;";
  7. try{       
  8.         conn.Open() ;
  9.        
  10.         //数据查询
  11.         /*
  12. rs = com.CreateObject("ADODB.RecordSet")
  13.         rs.Open("select * from privatepara order by pparaid", conn )
  14.        
  15.         while(!rs.eof){
  16.             console.log(
  17.                     string.trimright( rs("pparaid").value ),
  18.                     string.trimright( rs("pparaname").value ),
  19.                     string.trimright( rs("pparavalue").value )
  20.             )
  21.             rs.movenext()
  22.         }
  23.         rs.close();
  24. */
  25.        
  26.         //执行过程
  27.         cmd = com.CreateObject("ADODB.Command")
  28.         cmd.ActiveConnection = conn
  29.         cmd.CommandType = 4 //adCmdStoredProc
  30.         //cmd.NamedParameters = true
  31.         cmd.CommandText = "sp_1"
  32.         cmd.Prepared=true
  33.         cmd.Parameters.Append(cmd.CreateParameter("v1" , 200, 1, 50, "401"))//输入参数
  34.         cmd.Parameters.Append(cmd.CreateParameter("v2" , 200, 2, 50))//输出参数
  35.        
  36.         cmd.Execute()
  37.        
  38.         console.log(cmd.Parameters(0).value)
  39.         console.log(cmd.Parameters(1).value)
  40.        
  41.        
  42.         conn.Close();
  43.         console.log( "连接成功!" );

  44. }
  45. catch(e){
  46.         console.log( "错误信息:",e );
  47. }

  48. /*
  49. "Provider=OraOLEDB.Oracle; Data Source=
  50.   (DESCRIPTION =
  51.     (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))
  52.     (CONNECT_DATA = (SERVICE_NAME = oraapp))
  53.   );User Id=testuser;Password=testuser;"
  54.   
  55. */
复制代码

2

主题

7

回帖

88

积分

一级会员

积分
88
发表于 2016-3-14 12:47:41 | 显示全部楼层
谢谢分享!!

请教一下,ORACLE 数据库的基本操作: 增、删、改 又如何写呢? 数据库范例也没有找到此类例子

6

主题

38

回帖

361

积分

二级会员

积分
361
 楼主| 发表于 2016-6-23 11:27:15 | 显示全部楼层
aau007 发表于 2016-3-14 12:47
谢谢分享!!

请教一下,ORACLE 数据库的基本操作: 增、删、改 又如何写呢? 数据库范例也没有找到此类 ...

增删改查就可以参考sqlserver的了,他们用的方式基本一致。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2025-2-10 18:17 , Processed in 0.060619 second(s), 23 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表