oracle数据库连接的奇怪问题

chenqianliang 2003-01-09 07:53:25
我在一台机子上做的web程序,可以正常运行,连接数据库正常,但拷到另一台机子时提示连接数据库错误,请问我该如何解决,连接字符串如下:
"Driver={Microsoft ODBC for Oracle};" & _
"Server=server.world;" & _
"Uid=username;" & _
"Pwd=userpass;"
...全文
29 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
ropriest 2003-01-14
  • 打赏
  • 举报
回复
看看是不是目录权限的问题,如果你的oracle是安装在ntfs格式下的话可能有这个问题,此时应该设置目录权限,选oracle目录下ora92目录,点击右健选安全选项,把Authenticated Users的权限改为完全控制,就可以了。
onlysgirl 2003-01-13
  • 打赏
  • 举报
回复
ORACLE的事,还有ORA的数据驱动装了没有
chenqianliang 2003-01-13
  • 打赏
  • 举报
回复
各位看看吧,分不够可以再加
chenqianliang 2003-01-13
  • 打赏
  • 举报
回复
oracle数据驱动两台机子都有安装,操作系统不一样,服务器用的是2000server,客户机用的是2000专业版,这有关系吗?应该如何设置让它可以正常运行呢?
adu_neu 2003-01-13
  • 打赏
  • 举报
回复
操作系统一样吗?
chenqianliang 2003-01-12
  • 打赏
  • 举报
回复
你说你连接数据库没有问题,我这在客户机上也没有问题,但是现在公司要求将做好的程序放到服务器上,让公司所有人都能看到,所有就把程序放到9i的服务器上了,但是在客户机上能运行的程序放到服务器上就运行不了了,提示出错,我问一下你是不是也是将程序和数据库放在同一台机子上的
chenqianliang 2003-01-11
  • 打赏
  • 举报
回复
本来以为可能是因为8i与9i的版本差异导致的,因此我就将本机的8i_oo4o改装为9i的了,在本机运行正常,不管是通过odbc,ole还是oracle object for ole都可以正常连接,但是只要将程序放到服务器上就不行,用odbc,ole时提示打开数据库时出错,用oo4o时提示不能创建orasession对象,说是创建时没有权限被拒,请问有哪位知道,该如何解决呀!,服务器上有装和客户机一样的9i的客户端程序
TGITCIC 2003-01-11
  • 打赏
  • 举报
回复
你既然连访问数据库都不会,说明你是个初学者吧,建议方法有很多,把ORACLE降低,或用。NET,第三种办法就是用ORACLE OBJECT FOR OLE语句,我这个方法在ORACLE9I里是NO PROBLEM,不过告诉你个坏消息,就算连接上了,RS。ABSOLUTE,RS。PAGESIZE,RS。PAGECOUNT这三个属性,9I已经不支持了,因此你可以把ORACLE9降到8,那样数据备份有可能会导不回去,这样会很惨遭,如果你升级到。NET开发的话,会完全没有这个问题,但你的机器在装。NET时会时不时碰到无法DEBUG你的ASPX文件,这样你又得把。NET删掉装回VISUAL STUDIO6,这样会更惨,你权衡吧。
chenqianliang 2003-01-10
  • 打赏
  • 举报
回复
用系统dsn跟文件dsn有什么不同吗,调用时是不是只需要将filedsn改为systemdsn就可以了,其它的一样,是吗?那我试试
chenqianliang 2003-01-10
  • 打赏
  • 举报
回复
没有人知道吗?分不够可以再加,很急...
chenqianliang 2003-01-10
  • 打赏
  • 举报
回复
回:lifetragedy(生活是场悲剧),你讲的这种方法我试过了,还是不行,你的provider是msdaora.1吗,数字1,是吗
TGITCIC 2003-01-10
  • 打赏
  • 举报
回复
set conn=Server.CreateObject("ADODB.Connection")
connstr="Provider=MSDAORA.1;User ID=ymk;Password=isdnymk;Data Source=skydata"
conn.open connstr
set rs=server.CreateObject("adodb.recordset")
rs.Open sql,conn,3,2
这不就全解决了吗
hchxxzx 2003-01-09
  • 打赏
  • 举报
回复
建议你不要用文件DSN,用系统DSN,应该不会出现问题。
ropriest 2003-01-09
  • 打赏
  • 举报
回复
呵呵,看了下面的代码,估计要oralce跟微软打官司了!
我看你还是用oracle8.0.*的客户端吧
Microsoft is in the process of testing Oracle 9i client software on Microsoft Windows XP. Microsoft recommends using Oracle 8.1.7 client software, with the latest patches, because it is known to be a stable build. This client version is able to connect to Oracle 8i and 9i servers; however, the current Microsoft OLEDB Provider and ODBC Driver do not recognize the newer functionality and data types available in Oracle 8i and 9i. If you require Oracle 9i functionality and decide to use the Oracle 9i client, note that Microsoft has not tested this configuration and that you may encounter problems.
ropriest 2003-01-09
  • 打赏
  • 举报
回复
你可以用下面的代码,测试一下你的oracle连接字符串是否有效
<%@ Language=VBScript %>
<html>
<head>
<title>Oracle Test</title>
</head>
<body>
<center>
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "dsn=OracleDSN;uid=userid;pwd=password;"

Set objRs = objConn.Execute("SELECT * FROM DEMO.EMPLOYEE")

Response.Write "<table border=1 cellpadding=4>"
Response.Write "<tr>"

For I = 0 To objRS.Fields.Count - 1
Response.Write "<td><b>" & objRS(I).Name & "</b></td>"
Next

Response.Write "</tr>"

Do While Not objRS.EOF
Response.Write "<tr>"

For I = 0 To objRS.Fields.Count - 1
Response.Write "<td>" & objRS(I) & "</td>"
Next

Response.Write "</tr>"

objRS.MoveNext
Loop

Response.Write "</table>"

objRs.Close
objConn.Close
%>
</center>
</body>
</html>
chenqianliang 2003-01-09
  • 打赏
  • 举报
回复
我开始是直接用的连接字符串,后来改用dsn,在两台机子上建立dsn时都可以测试通过,但是在原来的机子上使用dsn时就可以,但是在第二台机子上使用时还是出错,代码如下:
<%
set conn=Server.CreateObject("ADODB.Connection")
strconn="FileDsn="&Server.MapPath("conn.dsn")
conn.open strconn,"username","userpass"
%>
因为在建立dsn时测试通过,可以肯定两台都能连接数据库,但为什么同样的代码在两台机子上运行会出现不同的结果呢
bomber2001 2003-01-09
  • 打赏
  • 举报
回复
gz
chenqianliang 2003-01-09
  • 打赏
  • 举报
回复
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
/scweb/conn.asp, 第 4 行(就是该连接串)

在9i中,服务Service没有.world,但是用“Server = servername;”也不行!
没人知道么?
zephyr_zhao 2003-01-09
  • 打赏
  • 举报
回复
这不是dsn
你的Web Server要有Oracle Client端和Tnsnames
“Server=server.world” 请确认server.world在Tnsnames中有这样的入口
hchxxzx 2003-01-09
  • 打赏
  • 举报
回复
你的“另一台机子”有没有建立ORACLE的ODBC链接?如果没有,当然不能连接数据库了。
解决方法:参照你原来的机器,做一个相同的数据库链接
加载更多回复(1)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧