搜索
查看: 5163|回复: 13

连接oracle数据

[复制链接]

6

主题

46

帖子

347

积分

二级会员

Rank: 3Rank: 3

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

import com

io.open();
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){
    io.print(
            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

主题

67

帖子

449

积分

二级会员

Rank: 3Rank: 3

积分
449
发表于 2013-6-6 00:29:01 | 显示全部楼层

多谢分享

多谢分享
回复

使用道具 举报

6

主题

59

帖子

580

积分

三级会员

Rank: 4

积分
580
发表于 2013-6-6 21:59:17 | 显示全部楼层

不错,学习

不错,学习
回复

使用道具 举报

0

主题

24

帖子

132

积分

一级会员

Rank: 2

积分
132
发表于 2013-6-11 13:41:27 | 显示全部楼层

oracle暂时用不上,我用小小的sqlite就够了,谢谢分享~~

oracle暂时用不上,我用小小的sqlite就够了,谢谢分享~~
回复

使用道具 举报

0

主题

18

帖子

158

积分

一级会员

Rank: 2

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

谢谢分享!!

谢谢分享!!
回复

使用道具 举报

0

主题

5

帖子

72

积分

一级会员

Rank: 2

积分
72
发表于 2013-11-13 14:26:36 | 显示全部楼层

{:3_59:} 测试可以使用非常感谢,但是这个代码运行时该系统必须安装Oracle的运行时或客户端,不然还是没有办法运行。不知道有什么办法不用安装客户端。

测试可以使用非常感谢,但是这个代码运行时该系统必须安装Oracle的运行时或客户端,不然还是没有办法运行。不知道有什么办法不用安装客户端。
回复

使用道具 举报

6

主题

46

帖子

347

积分

二级会员

Rank: 3Rank: 3

积分
347
 楼主| 发表于 2013-11-21 07:29:52 | 显示全部楼层

[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=58957&ptid=10429][c

轩辕小妖 发表于 2013-6-11 13:41
oracle暂时用不上,我用小小的sqlite就够了,谢谢分享~~

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

使用道具 举报

6

主题

46

帖子

347

积分

二级会员

Rank: 3Rank: 3

积分
347
 楼主| 发表于 2013-11-21 07:32:35 | 显示全部楼层

[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=62963&ptid=10429][c

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

积分

一级会员

Rank: 2

积分
72
发表于 2013-11-21 09:09:48 | 显示全部楼层

[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=63181&ptid=10429][c

starvv_w 发表于 2013-11-21 07:32
不装oracle有的程序可以,有的好像不行,需要几个dll的支持,放在自己程序的exe相同目录oci.dll/ociw32.d ...

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

使用道具 举报

0

主题

3

帖子

41

积分

新手入门

Rank: 1

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

谢谢分享!!


谢谢分享!!
回复

使用道具 举报

2

主题

12

帖子

91

积分

一级会员

Rank: 2

积分
91
QQ
发表于 2014-1-19 23:52:19 | 显示全部楼层

现在有在用一个oracle工具。青云Oracle数据库工具。不知道它的实现原理是什么。它不需要oracle的动态库

现在有在用一个oracle工具。青云Oracle数据库工具。不知道它的实现原理是什么。它不需要oracle的动态库
骗子太多,我只做好我自己能做的
回复

使用道具 举报

6

主题

46

帖子

347

积分

二级会员

Rank: 3Rank: 3

积分
347
 楼主| 发表于 2014-4-16 21:58:45 | 显示全部楼层

增加执行过程的方法: [code][lang=aardio,false] import com io.open(); conn = com.Crea

增加执行过程的方法:

  1. import com

  2. io.open();
  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.             io.print(
  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.         io.print(cmd.Parameters(0).value)
  39.         io.print(cmd.Parameters(1).value)
  40.        
  41.        
  42.         conn.Close();
  43.         io.print( "连接成功!" );

  44. }
  45. catch(e){
  46.         io.print( "错误信息:",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

主题

9

帖子

85

积分

一级会员

Rank: 2

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

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

谢谢分享!!

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

使用道具 举报

6

主题

46

帖子

347

积分

二级会员

Rank: 3Rank: 3

积分
347
 楼主| 发表于 2016-6-23 11:27:15 | 显示全部楼层

[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=70874&ptid=10429][c

aau007 发表于 2016-3-14 12:47
谢谢分享!!

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

增删改查就可以参考sqlserver的了,他们用的方式基本一致。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2018-10-21 23:23 , Processed in 0.093750 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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