با سلام . چگونه می شود در دلفی از بانک های موجود در صفحه وب اطلاعات را خواند.مرسی
با سلام . چگونه می شود در دلفی از بانک های موجود در صفحه وب اطلاعات را خواند.مرسی
اگر منظور اتصال است که فرقی نمی کند شما نام سرور و نام دیتابیس و یوزر و پسورد را داشته باشید با یک کانکشن ساده می توانید اینکار را انجام دهید
به جای نام سرور (Local) باید IP سرور رو در وب بنویسید
بقیه مراحل هیچ فرقی نمیکنه
فقط باید دقت کنید که چون سرعت خواندن اطلاعات کندتر از حالت Local هست براتون مشکلی ایجاد نشه
برای کار با ADO و بانک SQL میتونید از Connection زیر استفاده کنید :
ADOConnection1.ConnectionString:='Provider=SQLOLED B.1;Password=[Password];Persist Security Info=True;User ID=[USERNAME];Initial Catalog=GCC;Data Source=SQL.GCC.IR';
[Username] , [Password] به ترتیب با نام کاربری و پسورد شما در دیتابیس تون باید جایگزین بشن
این رشته برای اتصال به یک سرور SQL در سایت GCC.IR هست
ببین اگر میخوای جواب درست بگیری ، دقیقا توضیح بده میخوای چی کار بکنی؟ والا جوابهایی میگیری که معلوم نیست چقدر درست هستند.
با سلام .
یعنی با اون کدی که جناب nirvana گذاشت میشه وارد یه سایت شد و یوزر و پسورد رو خودش وارد میکنه .
منظورم این حالتی هست که مثلا همین ساید موقع ورود یوزر و پسورد میخواد ازمون حالا مثلا کدی هست که خودش یوزر و پس رو وارد بکنه و کاربر وارد سایت بشه؟
معلومه که نه ! (MDac که روی HTTP تعریف نشده !) برای همینه میگم سوال رو درست بپرسین.
سلام
توی جستجویی که انجام دادم، دیدم بهتره این تاپیک رو دوباره بالا بیارم که خیلی هم قدیمی نیست.
اما مشکل من:
1- به بانک sql server وب میتونم کانکت شم اما فقط با ip سایت. domain جواب نمیده. راه حلی وجود داره؟
2- میشه از بانک access روی وب استفاده کرد؟
با تشکر
بعد از حدود 36 ساعت جواب نگرفتم!
سوال 1 مهم نیست ولی دومی چطور؟ اصلا شدنی هست؟
استفاده روی وب اگر به این معنیه که یک برنامه سرور ساید بنویسی که خودش روی سرور باشه و اطلاعات رو از دیتابیس بخونه و سرویس بده ، بله میشه ، اما اگر انتظار داری که بزاریش روی سرور و فلدری که روش هست رو دسترسی پابلیک بدی و بعد یک برنامه کلاینت ساید بنویسی که بهش وصل بشه ، اگر هاستتت درست حسابی باشه جلوش رو میگیره چون این یک سوراخ هست و اینطوری دیگه هرکسی به دیتابیست دسترسی داره و اصولا هم کار درستی نیست.
ممنون از توجهتون
روی هاست فقط بانک قرار میگیره و application وجود نداره. حتما باید دسترسی public وجود داشته باشه؟
ببین برنامه تو یک کانکشن آزاد هست به سرور ، پس باید یک دسترسی داشته باشه که بتونه به هاست دسترسی خواندن نوشتن داشته باشه ، حالا اگر یک شبکه داخلی باشه خب این مسئله با تعریف یوزرهای سیستم عاملی قابل حل شدن هست ، اما اگر بحث اینترنت و اتصال از هر جایی هست که دیگه ممکن نیست، مگر اینکه قابلیت تعریف کاربر روی هاستت رو داشته باشی و هاستت رو هم روی ویندوز Integerated ست کرده باشی.
فکر کنم در پست های قبلی جواب به سوالتون داده شدبعد از حدود 36 ساعت جواب نگرفتم!
سوال 1 مهم نیست ولی دومی چطور؟ اصلا شدنی هست؟
حالا
1- موقعی که هاستی خریداری می کنید در لیست جزئیاتی که شرکت ارائه دهنده هاست به شما می ده یه قسمتی هست که آدرس IP و username password رو درونش داره ، حالا در ADO یا DBExpress اطلاعات فوق را وارد کنید ( مثلا همین ADO که در دو سه پوس قبلی توضیح داده شد ) سپس بعد از تکمیل کردن اطلاعات به اینترنت متصل شده Active را برار True قرار دهید اگر متصل نشد باید با Admin شرکت ارائه دهنده هاستان تماس بگیرید
ببینید دوستان، من با نحوه ارتباط با بانک مشکل دارم، اونم فقط بانک access . با بانک mssql , mysql هیچ مشکلی وجود نداره، چون میدونم connectionstring رو چطور تنظیم کنم. اما برای access هر وقت data sourse رو برابر با ip سیستم سرور (حتی در شبکه محلی) قرار میدم ، مشکل پیش میاد و به بانک کانکت نمیشه. مشکل اصلی اینه. اگر لطف کنید و راهنمایی کنید واقعا ممنون میشم چون مجبورم یه بانک access رو روی هاست قرار بدم.
تشکر
دوست عزیز یک راه استفاده از ODBC است یعنی در سمت سرور خود یک Datasource بسازی و سپس با برنامه Client به آن متصل شوی معمولا این سرویس در تمامی Control Panel های سرور های وب قرار داره یا می تونی با Ftp که درسته کار جالبی نیست ولی بعنوان آخرین راه هستش که فایل رو up کرده در هر حال اگر بخواهی فایلی از فایل های بانک اطلاعاتی Access رو باز کنی بسته به نوع Connection ی که داری میطلبه که Cache نیز داشته باشی که این خود زمان بر میشهببینید دوستان، من با نحوه ارتباط با بانک مشکل دارم، اونم فقط بانک access . با بانک mssql , mysql هیچ مشکلی وجود نداره، چون میدونم connectionstring رو چطور تنظیم کنم. اما برای access هر وقت data sourse رو برابر با ip سیستم سرور (حتی در شبکه محلی) قرار میدم ، مشکل پیش میاد و به بانک کانکت نمیشه. مشکل اصلی اینه. اگر لطف کنید و راهنمایی کنید واقعا ممنون میشم چون مجبورم یه بانک access رو روی هاست قرار بدم.
اگر درست متوجه شده باشم منظور شما اینه که یک DSN در سمت سرور بسازم و از کلاینتها به اون متصل شم. ولی اگر بخوام برنامه رو توزیع کنم چی؟ امکان تعریف DSN از طریق کدنویسی هست؟
ممنون
اگر شما در سمت سرور یک دیتا سورس داشته باشی می توانی به کمک آن دیتا سورس یعنی پلی بین بانک اطلاعاتی و برنامه هایتان می توانی داشته باشی ولی بصورت محلی و اما
بانک های اطلاعاتی مثل Access یک Datafile هستند و هرگونه دسترسی فیزیکی به این بانک های بر می گرده به سیستم عامل.
نگاه کنید شما اگر هم دوباره یک DSN بنویسید بعد از فرستادن درخواست می آید و تمام فایل مورد نظر در سیستمتون cache می کنه تا بتونه رو عملیات view رو داشته باشه و سپس برای حتی یک Update هم دوباره کلی مصیبت داره جز اینکه در سمت سرور برنامه ای برای کار با فایل بانک اطلاعاتی مورد نظر با DataSnap نوشته باشید در غیر این صورت می تونید فایل مورد نظر را Share گذاشته و یا در ftp به آن دسترسی پیدا کنیدولی اگر بخوام برنامه رو توزیع کنم چی؟
دوست عزیز فایل های DSN فایل های متنی هستند که از چند خط تشکیل شده اند و می توان مرجع دستورات استفاده شده در آنها رو نیز از MSDN پیدا کرد اون رو خیلی راحت می شته تولید کرد و بعد هم من منظورم System Datasource بود .امکان تعریف DSN از طریق کدنویسی هست؟
در ضمن این سایت نیز جهت ساخت فایل های DSN بد نیست
http://www.connectionstrings.com/?carrier=access
DSN برای اتصال برنامه ایه که روی همون سرور هست نه برنامه ای که میخواد بعنوان یک کلاینت تازه سرورش رو پیدا کنه ، قبلا هم جوابت رو دادم راه درستت چیزیه که قبلا برات نوشتم، ولی اگر میخوای بیشتر گیج بشی خب خود دانی ، ضمنا این لینکی هم که گذاشته شده ربطی به سوالت نداره چون تمام مثالهاش دیتابیس روی هارد لوکال هست : "C:\mydatabase.mdb" نه یک هاست خارجی!
Ghabil جان یک سوال :DSN برای اتصال برنامه ایه که روی همون سرور هست نه برنامه ای که میخواد بعنوان یک کلاینت تازه سرورش رو پیدا کنه ، قبلا هم جوابت رو دادم راه درستت چیزیه که قبلا برات نوشتم، ولی اگر میخوای بیشتر گیج بشی خب خود دانی ، ضمنا این لینکی هم که گذاشته شده ربطی به سوالت نداره چون تمام مثالهاش دیتابیس روی هارد لوکال هست : "C:\mydatabase.mdb" نه یک هاست خارجی!
آیا می توان به یک System DSN از طریق Remote متصل شد یا اینکه فقط Local می تونه ازش استفاده کنه ؟
User , System DSN فقط برای کامپیوتر لوکالا قابل استفاده هست فکر میکنم شما منظورت FileDSN باشه برای این مقصود.آیا می توان به یک System DSN از طریق Remote متصل شد یا اینکه فقط Local می تونه ازش استفاده کنه ؟
متاسفانه پاسختون رو نگرفتم میشه یه مقدار بیشتر توضیح بدهیدUser , System DSN فقط برای کامپیوتر لوکالا قابل استفاده هست فکر میکنم شما منظورت FileDSN باشه برای این مقصود.
در ضمن مدتی پیش یکی از دوستان بنده برنامه ای نوشته بود که System DSN ها موجود در هر رایانه ای در شبکه نشون می داد اگر پیدا کنم حتما در داخل سایت می گذارم
همین رو میخوندین لازم نبود این سوالات رو بپرسید ، اینکه چطوری میشه از DSN استفاده کرد یک بحثه اینکه بتونی اصلا بهش اکسس کنی یا نکنی یک بحث دیگه! تو بعنوان یک GUEST نمیتونی به DSN های موجود روی یک سرور اکسس بکنی و به دیتابیسهاش وصل بشی! مگر اینکه یک کاربر تعریف شده روی اون کامپیوتر داشته باشی که هیچ هاست اینترنتی این کار رو نمیکنه مگر در شرایط خاص و دادن سرویسهای ویژه.
تمام اون چیزیایی که شما در مورد DSN میگید برای دسترسیهای داخل شبکه ای هست ، نه کانکشنهای پابلیک!
فکر میکنم بالاخره حل شد. البته از اونجا که نمیتونستم روی سرور application در حال اجرا داشته باشم، پس بحث 3-لایه منتفی بود.
کاری که انجام دادم این بود:
بوسیله IIS یه دایرکتوری مجازی روی سرور ایجاد کردم
دیتابیس رو به اونجا انتقال دادم
با ado و Jet 4.0 OLE کانکت شدم.
جناب ghabil شما درست فرمودید. باید بیشتر توجه میشد