• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

مشکل در ارتباط با Access در ASP

SoftDevCo

Registered User
تاریخ عضویت
26 آپریل 2006
نوشته‌ها
365
لایک‌ها
0
محل سکونت
Tehran
والله که من خودمم حسابی قاطی کردم. هر کس یه چیزی میگه.
فکر کنم قضیه اینطوری مطرح بشه بهتره:
ما می خوایم به واسطه فایل connect.asp به Access Database که در 4 پوشه قبل تر قرار دارد وصل شویم. برای آدرس دهی \.. مجاز نمی باشد و بایستی از آدرس فیزیکی استفاده کرد.
سورس از چه قرار است؟ :lol:
خوب از آدرس فیزیکی استفاده کن. اگه نمی دونی یه ایملی بزن به وب مسترت بپرس.

مثلا: D:\wwwroot\SoftDevCo\db\db.mdb

اگه باز نتونستی بزار خودم برات درستش می کنم.
 

mehdi_ag

کاربر تازه وارد
تاریخ عضویت
12 ژوئن 2006
نوشته‌ها
22
لایک‌ها
0
محل سکونت
Tehran
اون .. رو بردار و فقط بذار / بمونه حالا رو root هستی یعنی رو httpdocs
فرض کن یه فایل داری توی httpdocs و دیتابیس هم اونجاست خوب اینجا از خط زیر استفاده کن.

DSNName = DSNName & Server.MapPath("*****.mdb")

حالا فرض کن فایلت تو فولدری بنام ABCD هست . برای اون هم می تونی اینجوری بنویسی

DSNName = DSNName & Server.MapPath("/*****.mdb")
یعنی بر می گردی به Root

حالا فرض کن دیتا بیست رو root نیست و تو فولدر ABCD هست برای فایل هائی که تو این فولدرن مثل خط اول می نویسی و برای اونها فایل هائی که تو root هستند مثل زیر

DSNName = DSNName & Server.MapPath("/ABCD/*****.mdb")

برای فایل هائی که تو هر شاخه دیگه هم باشن می تونی مثل همین رو بنویسی


یه سری کد هم می ذارم از این استفاده بکن ببین کار میده یا نه

برای وقتی که فایل و دیتا بیس در root هستند
<%
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")

DSNName = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
DSNName = DSNName & Server.MapPath("********.mdb")
Cnn.Open DSNName

sqltext = "SELECT * FROM *******"
rst.Open sqltext,cnn,1,1
while not rst.eof

rst.movenext
wend

rst.Close
set rst=nothing
cnn.Close
set cnn=nothing

%>

برای وقتی که دیتابیس در root و فایل در فولدر دیگه ای هست

<%
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")

DSNName = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
DSNName = DSNName & Server.MapPath("/********.mdb")
Cnn.Open DSNName

sqltext = "SELECT * FROM *******"
rst.Open sqltext,cnn,1,1
while not rst.eof

rst.movenext
wend

rst.Close
set rst=nothing
cnn.Close
set cnn=nothing

%>

برای وقتی که دیتا بیس در فولدر دیگه ای هست مثلا ABCD

<%
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")

DSNName = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
DSNName = DSNName & Server.MapPath("/ABCD/********.mdb")
Cnn.Open DSNName

sqltext = "SELECT * FROM *******"
rst.Open sqltext,cnn,1,1
while not rst.eof

rst.movenext
wend

rst.Close
set rst=nothing
cnn.Close
set cnn=nothing
%>
 

masood_y

Registered User
تاریخ عضویت
15 ژانویه 2005
نوشته‌ها
70
لایک‌ها
0
سن
40
اون .. رو بردار و فقط بذار / بمونه حالا رو root هستی یعنی رو httpdocs
فرض کن یه فایل داری توی httpdocs و دیتابیس هم اونجاست خوب اینجا از خط زیر استفاده کن.

DSNName = DSNName & Server.MapPath("*****.mdb")

حالا فرض کن فایلت تو فولدری بنام ABCD هست . برای اون هم می تونی اینجوری بنویسی

DSNName = DSNName & Server.MapPath("/*****.mdb")
یعنی بر می گردی به Root

حالا فرض کن دیتا بیست رو root نیست و تو فولدر ABCD هست برای فایل هائی که تو این فولدرن مثل خط اول می نویسی و برای اونها فایل هائی که تو root هستند مثل زیر

DSNName = DSNName & Server.MapPath("/ABCD/*****.mdb")

برای فایل هائی که تو هر شاخه دیگه هم باشن می تونی مثل همین رو بنویسی


یه سری کد هم می ذارم از این استفاده بکن ببین کار میده یا نه

برای وقتی که فایل و دیتا بیس در root هستند
<%
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")

DSNName = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
DSNName = DSNName & Server.MapPath("********.mdb")
Cnn.Open DSNName

sqltext = "SELECT * FROM *******"
rst.Open sqltext,cnn,1,1
while not rst.eof

rst.movenext
wend

rst.Close
set rst=nothing
cnn.Close
set cnn=nothing

%>

برای وقتی که دیتابیس در root و فایل در فولدر دیگه ای هست

<%
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")

DSNName = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
DSNName = DSNName & Server.MapPath("/********.mdb")
Cnn.Open DSNName

sqltext = "SELECT * FROM *******"
rst.Open sqltext,cnn,1,1
while not rst.eof

rst.movenext
wend

rst.Close
set rst=nothing
cnn.Close
set cnn=nothing

%>

برای وقتی که دیتا بیس در فولدر دیگه ای هست مثلا ABCD

<%
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")

DSNName = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="
DSNName = DSNName & Server.MapPath("/ABCD/********.mdb")
Cnn.Open DSNName

sqltext = "SELECT * FROM *******"
rst.Open sqltext,cnn,1,1
while not rst.eof

rst.movenext
wend

rst.Close
set rst=nothing
cnn.Close
set cnn=nothing
%>
سلام، از راهنمائی شما سپاسگذارم.
متاسفانه این چند وقت PersianTools فیلتر شده بود و به اینجا دسترسی نداشتم.
سوالم اینه که اگر بخواهم از آدرس فیزیکی استفاده کنم مثال چطوری میشه؟
 
بالا