免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 11737 | 回复: 10
打印 上一主题 下一主题

请教asp如何通过ODBC连接ORACLE数据库? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-15 21:48 |只看该作者 |倒序浏览
如题

论坛徽章:
0
2 [报告]
发表于 2010-01-15 22:03 |只看该作者

请教asp如何通过ODBC连接ORACLE数据库?

A机安装的是oracle 9数据库,B机通过odbc与A机相连,测试OK,请教下在B机上通过asp如何与oracle数据库相连?谢谢赐教!

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
3 [报告]
发表于 2010-01-15 23:12 |只看该作者
ASP有专门的连接ORACLE的接口吧。

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
4 [报告]
发表于 2010-01-15 23:13 |只看该作者
可以通过ADO连接!

论坛徽章:
0
5 [报告]
发表于 2010-01-16 10:28 |只看该作者
为啥一个题目发两遍?

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
6 [报告]
发表于 2010-01-16 23:01 |只看该作者
可能感觉发了没有说明白又再发,不过可以在原来的主题上编辑。

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
7 [报告]
发表于 2010-01-18 12:30 |只看该作者
1,先安装ORACLE客户端,这个会提供WIN下的ORACLE驱动程序,WIN自带的有问题。

2,用客户端的NETMANAGER创建服务名。

3,创建ODBC的DSN名,会用到驱动和服务名。

4,程序使用DSN名称即可。

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
8 [报告]
发表于 2010-01-18 14:35 |只看该作者
楼上的最好写个文档!

论坛徽章:
0
9 [报告]
发表于 2010-01-18 17:38 |只看该作者
露露脸先

论坛徽章:
0
10 [报告]
发表于 2010-04-21 11:38 |只看该作者
方法一:用DNS连接(必须安装有ORACLE9i,在数据源里面有“Oracle in OraHome90”驱动):(此方法比较方便)
建立ODBC的步骤:
控制面板--》管理工具---》数据源(ODBC)---》在系统数据源(系统DSN)的标签里,选[添加...]
弹出[创建新数据源]窗口,选择"Oracle in OraHome90",在DataSourceName   随便输入一个DSN名字
如:hcw ,   "tns service name"选择客户端已经建立好的.这时可以测试一下,以检查是否通了!
单击OK!!!!
ASP的语句是:文件是conn.asp,可以直接运行。

<%
Set conn =Server.CreateObject("ADODB.Connection"   
conn.Open "dsn=hcw;uid=scott;pwd=tiger;"
'此处的为数据源的名称,uid是数据库连接的用户名称,pwd为密码
set rs=server.CreateObject("adodb.recordset"
'sql="select * from gjj"
sql="select * from gjj where username='张三'"

rs.open sql,conn,1,1

if rs.recordcount<>0 then
                'response.write "数据库记录数为:" & rs.recordcount
                response.write rs("username" & "    " & rs("unitname" &"   " & rs("ye"
                else
                response.write "数据库记录数为:" & rs.recordcount
end if
                rs.close
                set rs=nothing
%>

方法二:文件是conn.asp,可以直接运行。

<%
set conn=server.createobject("ADODB.CONNECTION"
conn.Open "rovider=OraOLEDB.Oracle.1;Data Source=oradb;User ID=scottassword=tigerersist Security Info=True"
set rs=server.CreateObject("adodb.recordset"
'sql="select * from gjj"
    sql="select * from gjj where username='张三'"

rs.open sql,conn,1,1

if rs.recordcount<>0 then
                'response.write "数据库记录数为:" & rs.recordcount
                response.write rs("username" & "  hai  " & rs("unitname" &"   " & rs("ye"
                else
                response.write "数据库记录数为:" & rs.recordcount
end if
                rs.close
                set rs=nothing
%>


这里非常重要的就是主机字符串:oradb,就是按照主机字符串来做。  
conn.Open "rovider=OraOLEDB.Oracle.1;Data Source=oradb;User ID=scottassword=tigerersist Security Info=True"

oracle1主机字符串是什么意思?

和其它网络应用一样,要通过网络连接服务器端,你需要指明:服务器地址,网络协议,端口号。
另外由于ORACLE运行一台服务器多个数据库,因此还需指明数据库名称。
如果每次连接都输入以上4项,太过繁琐,为简化操作,可以为常用的连接建立主机字符串,如:
jlk =
  (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(Host= 10.10.10.10)(Port = 1521))
     (CONNECT_DATA = (SID = ORCL))
当你连接数据库时可以,直接使用sqlplus user/password@jlk进行连接了,其中jlk即为主机字符串,它表明:以TCP协议,连接地址为10.10.10.10的服务器的1521端口,访问其中名为ORCL的数据库



通俗地说,主机字符串是ORACLE中用来表明客户端与服务器端连接的方式。它只是一个别名,其真正内容包含网络协议,ORACLE实例名等项目。如果要建立或修改一个主机字符串,可用SQL*NET EASY CONFIG程序。例如:新安装一个ORACLE,可按以下方式输入:
     用户名:SYSTEM
     密码:MANAGER
     主机字符串:TCP-LOOPBACK


主机字符串你看一下:开始菜单/程序/管理工具/服务/有一项oracleservice********   
  那些'*'就是sid
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP