主题:  在源代码里怎么找不到我所用数据库的相关路径信息

hansen

职务:普通成员
等级:1
金币:1.0
发贴:181
注册:2000/12/21 15:27:20
#12001/3/1 17:17:20
我用DU4,在源代码里怎么找不到我所用数据库的相关路径信息,如果我把数据库文件mdb放在了另一个文件夹里,DU是如何识别并更改的呢?



wowomo

职务:普通成员
等级:1
金币:1.0
发贴:309
注册:2001/1/12 21:01:58
#22001/3/1 19:00:21
怎么会?看看你有没有include其他的文件,然后到那个文件去找!



hansen

职务:普通成员
等级:1
金币:1.0
发贴:181
注册:2000/12/21 15:27:20
#32001/3/2 8:51:51
我看了我的include文件,里面还是没有说明放mdb的位置啊。include文件源代码如下:
<%
' FileName="Connection_odbc_conn_dsn.htm"
' Type="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
MM_member_STRING = "dsn=member;"
%>



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
注册:2000/12/28 12:10:01
#42001/3/2 8:56:02
你是使用ODBC连接的,你可以在“控制面板”里找到“ODBC数据源”打开它查找那个DSN=member,看里面是否有member这个数据源,如有的话,就打开它你就可以看到你数据库的路径了。



hansen

职务:普通成员
等级:1
金币:1.0
发贴:181
注册:2000/12/21 15:27:20
#52001/3/2 9:56:23
如果是这样,我的确在odbc里可以看到,但是,如果我把这些文件传上去的话,服务器上的odbc会跟本机上的一样吗?也就是说,在服务器上是如何识别这个mdb路径的呢?



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
注册:2000/12/28 12:10:01
#62001/3/2 11:44:50
如果你想用网上的服务器而不是自己的服务器这个方法不行,最好不要通过ODBC连接数据库,而是可以采用另一种方法:
数据库为ACCESS
<% 'AdoAccess.asp
Option Explicit
Response.Expires = 0

'建立连接
Dim Cnn, StrCnn
Set Cnn = Server.CreateObject("ADODB.Connection")
StrCnn = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = ...(存放你数据库的路径)"
Cnn.Open StrCnn
%>

数据库为SQL7
<% 'AdoSQL7.asp
Option Explicit
Response.Expires = 0

'建立连接
Dim Cnn, StrCnn
Set Cnn = Server.CreateObject("ADODB.Connection")
StrCnn = "Provider=sqloledb; User ID=sa; Password=; Initial Catalog=数据库名; Data Source=机器名或IP地址"
Cnn.Open StrCnn
%>



hansen

职务:普通成员
等级:1
金币:1.0
发贴:181
注册:2000/12/21 15:27:20
#72001/3/2 12:29:58
我如何在du4里实现你上面所说的效果呢,另外,为什么最好不用odbc呢?教程上都是这样建的呀。



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
注册:2000/12/28 12:10:01
#82001/3/2 13:07:48
我没用过UD,用ODBC的一般都是在本机上调试的,即本机作服务器,所以你想把它传到网上用ODBC是不行的。



lzy_5d

职务:普通成员
等级:1
金币:0.0
发贴:33
注册:2000/9/15 14:06:05
#92001/3/2 15:17:08
也可以的呀,把odbc中的dsn的名字设为一样的不就可以了吗.


------------------------------------ 天冷 冷不了我的心 心痛 痛不断我的情 情深 深得像海 海 仰望着蓝天 ------------------------------------

绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
注册:2000/12/28 12:10:01
#102001/3/3 8:10:22
怎么会可以的呢,你的ODBC现在是在本机上的,你如何得知网上的服务器它的ODBC就设为这样的呢??



hansen

职务:普通成员
等级:1
金币:1.0
发贴:181
注册:2000/12/21 15:27:20
#112001/3/3 8:47:00
那我跟网管说一下,按照我在本机的设置去在服务器上设好dsn,似乎可以哟。
另外,germchen你说道

数据库为ACCESS
<% 'AdoAccess.asp
Option Explicit
Response.Expires = 0
'建立连接
Dim Cnn, StrCnn
Set Cnn = Server.CreateObject("ADODB.Connection")
StrCnn = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = ...(存放你数据库的路径)"
Cnn.Open StrCnn
%>
以上代码是要放在哪里呢?我原来的asp页面都是用dsn来连接的,是否都要改,在哪里改,用du4可否直接改?谢谢。



超级菜鸟

职务:普通成员
等级:1
金币:0.0
发贴:58
注册:2000/12/23 10:33:51
#122001/3/3 9:54:12
源代码中有以下几行代码:

<%
set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_connmyud_STRING
Recordset1.Source = "SELECT * FROM gxb"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 3
Recordset1.Open()
Recordset1_numRows = 0
%>
删除
将Recordset1.ActiveConnection = MM_connmyud_STRING
改成:Recordset1.ActiveConnection = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="& Server.Mappath("你的数据库路径/数据库名.mdb")
上传到服务器时,也不用再上传'AdoAccess.asp文件。

编辑历史:[这消息被超级菜鸟编辑过(编辑时间2001-03-03 09:57:51)]


hansen

职务:普通成员
等级:1
金币:1.0
发贴:181
注册:2000/12/21 15:27:20
#132001/3/3 10:04:57
刚看了Ultradev 4.0 Beta3 最新体验一文,其中“不仅如此,在定义方式上也有所改变,下面我们看到的是UltraDev 1.0中所没有Custom Connection String with Server.MapPath()中的定义对话框:如果你经历过UltraDev中不能使用DSN的痛苦(比如在很多个人主页上),你就会知道Server.MapPath()的好处。”

问了这么多,现在似乎有点明白,原来定义连接还分dsn和非dsn两种,ud4正式版里只提供dsn连接,而ud4beta3里倒是提供两种方式,只是我不知如何用啊,这种定义方式是否就是不用DSN定义的?这个Server.MapPath()到底有什么好处?怎样使用它呢?望高手告知。

另外,我们平时说的数据库使用odbc连接和ado连接跟这个dsn连接有什么关系呢?谢谢了,我是菜鸟,才问这么多的.

编辑历史:[这消息被hansen编辑过(编辑时间2001-03-03 10:10:39)]


绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
注册:2000/12/28 12:10:01
#142001/3/3 13:46:39
将指定的虚拟目录路径转换成实际目录名称
Server.MapPath("虚拟目录路径")