PDA

View Full Version : اتصال به database



javad0062
دوشنبه 08 خرداد 1385, 21:31 عصر
سلام
من صفحه اتصال به پایگاه دادمو اینطوری درست کردم که دائم از آدرس اون ایراد میگیره
نمیدونم مشکلش چیه ، پایگاه دادمم دقیقا توی همین مسیر

<!--#include file="datastore.asp"-->
<!--METADATA TYPE="typelib"
FILE="d:\program files\common files\system\ado\msado15.dll" -->
<HEAD>
</HEAD>
<BODY>
<%
dim objcommand,objrs
set objcommand=Server.CreateObject("adodb.command")

objcommand.ActiveConnection=strconnect
objcommand.Commandtext="select *from employees"



%>

<%
objcommand.CommandText="insert into employees values('"& Request.Form("fname")&"','" &Request.Form("lname") &"','" &Request.Form("city")&"')"
objcommand.CommandType=adcmdtext
set objrs=objcommand.Execute
set objcommand=nothing
set objrs=Nothing
%>
</BODY>
</HTML>



datastore
<%@ Language=VBScript %>
<HTML>
<HEAD>
</HEAD>
<BODY>
<%
strconnect="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\inetpub\wwwroot\mydatabase.mdb;Persist Security Info=False "
%>
</BODY>
</HTML>


erorای که میده اینه

Could not find file 'D:\inetpub\wwwroot\ mydatabase.mdb'.
:عصبانی++: :عصبانی++: :عصبانی++: :عصبانی++: :

سارا نجفی
سه شنبه 09 خرداد 1385, 07:23 صبح
احتمالا"‌یک اشکالی در IIs وجود داره . مطمئن هستی که بانکت رو در فایل درست کپی کردی؟
یعنی IIS کامپیوترن نمیتونه بانک رو پیدا کنه. بعدش بهتره که برای مشخص کردن مسیر بانک اطلاعاتت از


server.MapPath("yourDB.mdb")&";"&"Persist Security Info=False"


استفاده کنی حتی میتونی یک

response.write(server.MapPath("your DB"))

که ببینی مسیر سرور چی هست.

sarasara
سه شنبه 09 خرداد 1385, 07:39 صبح
چه پیغامی می ده؟

javad0062
سه شنبه 09 خرداد 1385, 09:29 صبح
در IIS فکر نمیکنم اشکالی باشه چون با dsn وقتی آدرس میدم درست جوا ب میده:متفکر:


در جواب خانم sarasara پیغام رو بالا نوشتم :متفکر:

reza_rad
سه شنبه 09 خرداد 1385, 09:46 صبح
Could not find file 'D:\inetpub\wwwroot\ mydatabase.mdb

مطمئنی که دیتابیس توی این آدرس وجود داره؟!

archangel
سه شنبه 09 خرداد 1385, 10:46 صبح
به نظرم در خصوصیت objcommand.ActiveConnection باید یه شیء از نوع Connection قرار بدید. به عنوان مثال این کُد رو در فایل datastore.asp قرار بدین:



Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = strConnect
objConn.Open


و بعد در برنامه‌تون برای تعیین اتصال فعال برای شیء Command بنویسین:


objCommand.ActiveConnection = objConn

البته فقط یادتون نره وقتی کارتون تموم شد، اتصال رو ببندین . شی‌ای رو که ساختین از حافظه پاک کنین.

می‌تونین به عنوان مثال یه فایل دیگه درست کنین و توش این دو خط رو بنویسین و اونو در انتهای صفحه‌ی وبی که دارین توش برنامه‌نویسی می‌کنین قرار بدین:



objConn.Close
Set objConn = Nothing

javad0062
سه شنبه 09 خرداد 1385, 15:03 عصر
با تشکر از دوستان
خانم سارا نجفی من با این کد response.write(server.MapPath("your DB"))
database خودم رو درست پیدا کردم همونی بود که خودم مینوشتم (جواب)داد :متعجب: ممنون از راهنماییتون
ولی یه سوال:
هر چی با server.MapPath("yourDB.mdb")&";"&"Persist Security Info=False"

آدرس دهی میکنم باز پیغام خطا میده
در این مورد اگه میشه بیشتر برام توضیح بدین
پیغام اینه
/datastore.asp, line 7, column 73
strconnect="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=server.MapPath("mydatabase.mdb");Persist Security Info=False"

آقای archangel از راهنمایی شما هم ممنون امتحان میکنم

سارا نجفی
چهارشنبه 10 خرداد 1385, 07:27 صبح
فکر کنم که پیغام خطا رو کامل ننوشتید!!! من چیزی از خطا نفهمیدم.

javad0062
چهارشنبه 10 خرداد 1385, 11:40 صبح
پیغام کامله اگه شما هم از پیغام سر در نمی آورید لطفا درباره mappath یک توضیح کامل برام بده شاید اشتباهم رو فهمیدم
در ضمن آقای archangel راه که شما پیشنهاد دادید جواب نداد