免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 11722 | 回复: 1

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

论坛徽章:
0
发表于 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

论坛徽章:
0
发表于 2010-04-21 11:40 |显示全部楼层
方法一:用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