سلام
من هیچ چیز از مای اس کیو ال نمیدونم ولی میخوام به یه بانک مای اس کیو ال که روی سرور سایتمه کانکت شم و توش تغییر ایجاد کنم.
1- چیکار کنم که تو لیست provider هام mysql اضاف بشه؟
2- کانکشن استرینگ رو چی وارد کنم؟
سلام
من هیچ چیز از مای اس کیو ال نمیدونم ولی میخوام به یه بانک مای اس کیو ال که روی سرور سایتمه کانکت شم و توش تغییر ایجاد کنم.
1- چیکار کنم که تو لیست provider هام mysql اضاف بشه؟
2- کانکشن استرینگ رو چی وارد کنم؟
واسه استفاده از mysql در دلفی باید اول mysql-connector-odbc رو دانلود و نصب کنی. میتونی این نرم افزار رو از خود سایت mysql (البته غیر مستقیم ) دانلود کنی. اگه این کار رو انجام ندادید و نیاز به توضیح بیشتری دارید در خدمتم.
موفق باشی
نه هنوز این برنامه رو ندارم
ممنون میشم اگه توضیح بدین
تو گوگل سرچ کردم یه چیزایی اومد
دارم دانلودش میکنم...
اول از همه یه این آدرس برو و برنامه کانکتور رو دانلود کن. باید بگم که این سایت اجازه ی دانلود به کاربرای ایرانی نمیده و باید از طریق پ .ر .و .ک .س .ی این کار رو بکنی. آدرسی که فرستادم نسخه 3.51 هست و میتونی نسخه 5.1 رو هم دانلود کنی. بعد از نصب به مسیر زیر برو:
control panel > administrative tools> datasources ODBC
با کلیک روی datasources ODBC و باز شدن پنجره ، از تب user DNS روی ADD کلیک کن. داخل پنجره ای که باز میشه ، از لیست MySQL ODBC 3.51 Driver رو انتخاب و روی finish کلیک کن. با این کار یه پنجره ظاهر میشه که شامل چند قسمته:
datasource name: در این قسمت باید اسم دیتاسورس مورد نظر رو بنویسی <تکراری نباشه>
description: توضیحات در مورد دیتاسورس که این قسمت اختیاریه
server: در این قسمت که از همه مهمتره آدرس سروری رو مینویسی که پایگاه اونجا قرار داره. اگه این قسمت رو خالی بذاری برنامه بصورت پیش فرض localhost رو در نظر میگیره.
user , pass هم که واضحه
database: اگه server رو درست وارد کرده باشی با کلیک روی کامبوباکس مقابل این گزینه دیتابیس های موجود روی سرور رو میبینی که باید دیتایبس مورد نظر رو انتخاب کنی.
قبل از کلیک روی ok روی test کلیک کن تا با مشاهده success; .... از درست بودن اتصال مطمئن بشی. روی ok کلیک کن.
حالا مثل باقی پایگاه داده ها میتونی ازش استفاده کنی . فقط یه مورد رو باید بگم. اونم اینکه برای استفاده از mysql در پروژه های اینتراوبی دلفی بجای ADO از BDE یا یه موتور سازگار تحت وب استفاده کنید. اما واسه باقی پروژه ها بنظر من ADO بهترین گزینست.
ممنون من از یه سایت دیگه دانلودش کردم
خب من آدرس سرور سایتم رو چی بدم؟؟؟
بعدم
رو کامپیوتر مشتری هم باید این کارا انجام بشه؟
برای آدرس سرورهای راه دور من از IP سرور استفاده میکنم. در این حالت باید شماره پورت مورد استفاده رو هم در تب Connect Options در قمست port وارد کنی که mysql بصورت پیش فرض پورت 3306 رو در نظر میگیره. در این تب همینطور میتونی تنظیمات SSL و charset رو در صورت لزوم وارد کنی که واسه اتصالات عادی لازم نیست.
در مورد سوال دوم هم باید بگم آره. این تنظیمات لازمه! اما با یه برنامه installer مثل install aware میتونی یه setup رو طوری بسازی که هنگام نصب برنامه روی سیستم مشتری این اعمال هم انجام بشه.
حالا یه مسئله دیگه
MySql به درد برنامه های معمولی هم میخوره یا فقط تحت وب؟
در ضمن شماره پورت مورد استفاده چی هست؟
میتونی از mysql در هر پروژه پایگاه داده ای استفاده کنی و مطمئن باشی که با طراحی مناسب مشکلی پیش نمیاد. من هم اولین بار واسه قابلیت های تحت وب mysql بود که ازش استفاده کردم ولی با استفاده توی پروژه های دیگه فهمیدم کاربردش محدود به تحت وب نیست.
در مورد سوال دوم هم باید بگم که بستگی به پورتی داره که سیستم راه دور برای mysql ازش استفاده میکنه. شماره پورت پیش فرض در نسخه 5.0 (و احتمالا" سایر نسخه ها) 3306 هست. اگه این پورت رو قبول نکرد احتمالا" شماره پورت رو تغییر دادن و باید از admin بپرسی.
راستی با Ado هیچ رقمه نمیشه؟
در ضمن با دستورات sql و توابع کلاس TDataSet دلفی که میشه راحت رو اطلاعات تغییر ایجاد کنم. مگه نه؟
ببخشید
من مطالب تکه تکه یادم میاد
به خاطر همین چندتا پست میزنم
به نظر شما تو پروژه هام از sqlserver استفاده کنم بهتره یا مای اس کیو ال؟
آخه من یه پروژه دارم برمیدارم که خیلی باید بانک اطلاعاتیش قوی باشه
شما کدومش رو توصیه میکنین و چرا؟
اگه از intraweb (نسخه 5.5 و قبل)استفاده میکنی نه! فکر کنم در نسخه های جدید پشتیبانی بشه. امتحانش ضرری نداره
اما اگه پایگاه تحت وبه و برنامه ای که مینویسی تحت وب نیست و روی سیستم کاربر نصب میشه میتونی از ado استفاده کنی.
با دستورات sql و توابع کلاس TDataSet دلفی هم میشه اطلاعات رو تغییر داد.
ببینید
سایتی هست که خودم میسازمش و بانکش MySql هست
حالا میخوام با یه برنامه که رو کامپیوتر جایی که میخوام براشون سایت بسازم نصب میشه بتونم محتوای سایت رو تغییر بدم
مثلا به کاربراش اضاف کنم
با Ado میشه؟
نگفتین MySql رو ترجیح میدین یا SQLServer
اینکه از کدوم استفاده کنی بستگی به مهارت خودتون و شکل پروژه داره. همینطور زبانی که پروژه باهاش طراحی میشه. شکل طراحی شما از هر چیزی مهم تره و برای امنیت و سرعت باید پایگاه داده رو بصورت مناسب طراحی کنید. خودتون هم میدونید که mysql اینجا مشتری کمتری داره و دلایل زیادی باعث این اتفاق شده که اکثرا" منصفانه و منطقی نیستند. اوایل mysql بخاطر شکل غیر گرافیکیش زیاد محبوب نبود که بعدها با ارائه برنامه های گرافیکی سعی شد این مشکل حل بشه، هر چند من شکل غیر گرافیکی mysql رو یه امتیاز میدونم و با کمی کار، استفاده از اون براتون راحت میشه. کار با کنسول mysql باعث افزایش سرعت در مدیریت پایگاه بطور چشم گیر میشه پس ساده از کنارش رد نشین.
در کل باید بگم sql server , mysql هر دو در محیط های غیر وب کارکرد یکسانی دارند ولی برای پروژه های تحت وب mysql یکی از بهترین انتخابهاست.مهم ترین دلیلش هم سرعت بالای محیط این dbms هست. من خودم از هر دو استفاده کردم ولی با mysql بهتر کنار میام
ببینید تو پروژه من سرعت و تعداد رکورد خیلی مهمن به طوری که حدود 5 میلیون به بالا رکورد دارم
امنیتم برام مهمه
البته اینی که میگم جدا از اون بحث سایت هست
این یه پروژه دیگه هست
بنابراین باید قبل از انتخاب پایگاه داده به فکر نرمال سازی و بهینه کردن جداول باشی. اگه تاپیک های قبلی رو دیده باشی ، مشکل خیلیا کند شدن سرعت اجرای تقاضاها در تعداد بالای رکوردهاست. بهتره هنگام طراحی، جداول رو حداقل تا 2nf بهینه کنی که با مشکلاتی مثل افزونگی مواجه نشی. اگه از نحوه بهینه سازی جداول اطلاعی نداری میتونی از نرم افزارهایی که برای این کار ساخته شدن استفاده کنی مثلا" mysql query analyzer. هم sql server و هم mysql برای تعداد رکوردهای خیلی بیشتر از 5 میلیون مشکل ندارن و برای امور امنیتی شما قابلیت های زیادی دارن مثلا" پشتیبانی از SSL و یا توابعی برای رمز گزاری 128 بیتی و بیشتر ، AES ،نقشها،دیدها و .... همونطور که گفتم همه چیز بستگی به طراحی ، مهارت و شرایط پروژه شما داره. اما اگه میخوای تازه شروع به کار کنی بنظر من mysql بهتره.
ببینید
من تازه سرورم گیر اومده
آی پیش رو هم بهم دادن ولی با چیزایی که شما گفتین نمیتونم به بانکش وصل بشم
شماره پورت رو پیدا کردید؟ پایگاه داده سرور از SSL استفاده میکنه؟ username و password چی؟ اینا سؤالاتی هستن که قبل اتصال باید ازشون مطمئن باشید. برای پیدا کردن جواب همه ی این سوالات یه روش ساده وجود داره. باید روی ماشینی که به سرور متصله دستورات mysql زیر رو اجرا کنید:
نمونه خروجی شبیه اینه:
USE database_name ;
status;
یا
use database_name;
\s
مقدار مقابل TCP port نشان دهنده پورت و Server characterset نوع charset رو نشون میده. مقدار مقابل SSL هم نشون میده از SSL برای ارتباط استفاده میشه یا نه که در مثال بالا استفاده نمیشه. اگه پایگاه شما از SSL استفاده کنه باید هنگام ایجاد connection که در پست های قبلی گفته شد فیلد های مربوط به این مورد رو هم در Connection Options کامل کنید.
mysql> status
--------------
C:\mysql.exe Ver 14.12 Distrib 5.0.51b
, for Win32 (ia32)
Connection id: 16
Current database:
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.0.51b-community-nt MySQL Community Edition (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
Conn. characterset: latin1
TCP port: 3306
Uptime: 13 hours 23 min 51 sec
Threads: 1 Questions: 214 Slow queries: 0 Opens: 18 Flush tables: 1 Open ta
bles: 0 Queries per second avg: 0.004
--------------
خب من رو Local Host اینا رو اجرا کردم و جواب گرفتم ولی رو سرور نتونستم
یعنی نمیدونم کجا باید این دستورات رو وارد کنم.
منظورتون از سیستمی که به صورت کلاینت به سرور وصله رو نمی فهمم
بعدم هاست مال خودمه
دیتابیش رو هم خودم ساختم
خيلي خوب. ديتابيس رو با phpmyadmin ساختي؟ اگه نه لطفا" بفرماييد با چي طراحيش كردي؟ تو ژست بعدي سعي ميكنم روش كامل اتصال دلفي به پايگاهتون رو توضيح بدم (بسته به اينكه از phpmyadmin استفاده كرده باشي يا غير از اون ) بايد يادآور بشم كه روش اتصال كلي همونيه كه توپستهاي قبلي گفته شد. فقط پيدا كردن پورت، سرور و يوزر كمي فرق خواهد كرد.
ممنون از شما دوست عزیز
نه من با phpmyadmin طراحی نکردم
یعنی تو سرورم یه بخش داره به اسم MySql Database Wizard که یه ویزارد برای طراحی بانکه ولی اگه لازم باشه میتونم با phpmyadmin هم طراحیش کنم
چی شد دوست عزیز؟
Server: localhost
Error
SQL query:
USE database_name;
MySQL said: Documentation
#1044 - Access denied for user 'delphisa'@'localhost' to database 'database_name'
[ Back ]
ارور بالا رو میده