asp中用odbc连接oracle???(50分)

  • 主题发起人 coffeeffee
  • 开始时间
C

coffeeffee

Unregistered / Unconfirmed
GUEST, unregistred user!
在用asp时,想用odbc对oracle8进行连接,即用语句:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Oracle Odbc driver};servcie name=a;uid=xi
pwd=ss"
来进行连接,但不知第二行的odbc的参数应如何设置,请大虾指教!!
 
你可以在ODBC数据源的系统DSN中先建立一个Oracle的数据源BBS.
然后程序写成:
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "BBS", "xi", "ss"
即可。
 
wangjerry:
我试过了,但现在提示错误为:
[Oracle][ODBC][Ora]ORA-12203: TNS:不能与目标连接
其中我在系统驱动dns中添加了名为ora的系统数据源,ora的
配置中,好象只有server name 较为关键,我的数据库为oracle
8.0.04,server name 填为a.world,其中我在sql*plus中可用
服务a.world与数据库连接,这是为什么啊??
 
另外,在oracle的odbc test 中可以通过系统数据源ora来对数据库进行连接,但在asp
中不行,是哪里错了呢???
 
你先在odbc里建一个数据源名字是myoracle, 然后用下面的语句进行连接,
没问题的,我试过了。 uid 是你连接oracle的用户名,pwd是密码。

set conn=server.createobject("adodb.connection")
conn.connectionstring="dsn=myoracle;uid=system;pwd=manager"
conn.open

不过我建议你用oracle8i自带OO4Oserver来连接,

gloal.asa文件的内容是:

<OBJECT RUNAT=Server SCOPE=Application ID=OraSession PROGID="OracleInProcServer.XOraSession">
</OBJECT>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart
'Get an instance of the Connection Pooling object and create a pool of OraDatabase
'
OraSession.CreateDatabasePool 1,40,200,"", "songmk/songmk", 0
End Sub
</SCRIPT>


这是一个例子:
0040.asp

<html>
<head>
</head>
<body>
<form ACTION="0040.asp" METHOD="POST">
<%
SQL = Request("SQL")
%>
<p>SQL Select Query: <input SIZE="48" NAME="SQL" VALUE="<%=SQL%>"></p><p><input TYPE="SUBMIT"></p></form>
<%
If SQL<>"" Then
Set ODB = OraSession.GetDatabaseFromPool(10)
Set ORS = ODB.CreateDynaset(SQL,0)
'Set ORS = ODB.OraSQLStmt(SQL,0)

response.end
Set Columns= ORS.Fields
%>
<table BORDER="1">
<tr>
<% For i = 0 to Columns.Count - 1 %>
<td><b><% = Columns(i).Name %></b></td>
<% Next %>
</tr>
<% while NOT ORS.EOF %>
<tr>
<% For col = 0 to Columns.Count - 1 %>
<td><A href="0040.asp?SQL=select * from <%=columns(col)%>"><% = Columns(col) %></A></td>
<% Next %>
</tr>
<% ORS.MoveNext %>
<% WEnd %>
</table>
<%End If%>
</body>
</html>


 
完了,我的机器就是不行,我建了odbc的数据源,但连接oracle时还是提示出错,
oracle数据源设置很简单啊,就是server name 的设置嘛,但我的server name 的设置
应该没错,在sql*plus可以连通;上述语句,用dsn添加access的数据库可以成功,我
真不知是哪里错了!!!
 
我现在发现,odbc驱动数据中有两个oracle驱动程序,一个是8.00版本,一个是2.57
版本,现在我用8.00版本配好数据源不行(需提供service name),而用2.57版本则可以
(需提供服务器名),真是不明白!!!是否有高手指教???

 
非常简单,为何要用odbc用oracle8i自己提供的就行了,把分给我,我告诉你
 
这样写看看:
Set Conn = Server.CreateObject("ADODB.Connection")

conn.Open "DRIVER={Microsoft ODBC for Oracle};UID=a;PWD=xi;Server=servername"

 
多人接受答案了。
 
顶部