PDA

View Full Version : مشکل در باز کردن پورت localhost در ويندوز 64bit



h_mohamadi
سه شنبه 07 دی 1389, 17:41 عصر
سلام بر دوستان گرامي
من يک مشکل دارم که در ويندوز 7 که 64 بيتي است مي خواهم براي کانتکن شدن در شبکه به mysql پورت localhost را باز کنم.اما اين کار انجام نمي شود مي خواستم بدانم مشکلم از کجاست.
دستور باز کردن پورتم هم اين است

procedure addPortToFirewall(EntryName:string;PortNumber:Card inal);
var
fwMgr,port:OleVariant;
profile:OleVariant;
begin
fwMgr := CreateOLEObject('HNetCfg.FwMgr');
profile := fwMgr.LocalPolicy.CurrentProfile;
port := CreateOLEObject('HNetCfg.FWOpenPort');
port.Name := EntryName;
port.Protocol := NET_FW_IP_PROTOCOL_TCP;
port.Port := PortNumber;
port.Scope := NET_FW_SCOPE_ALL;
port.Enabled := true;
profile.GloballyOpenPorts.Add(port);
end;

vcldeveloper
سه شنبه 07 دی 1389, 20:39 عصر
localhost پورت نیست، بلکه یک آدرس مجازی برای 127.0.0.1 هست، که میشه همون IP لوکال سیستم شما. پورت اون شماره ایی هست که به صورت جداگانه میدید، یا بعد از آدرس IP با : آن را جدا می کنید.

کدی که در بالا قرار دادید، ربطی به MySQL و اتصال به اون نداره، فقط یک تابع هست برای اضافه کردن یک پورت خاص به لیست چشم پوشی های فایروال ویندوز.


اما اين کار انجام نمي شود مي خواستم بدانم مشکلم از کجاست.
وقتی معلوم نیست چه کدی نوشتید، و معلوم هم نیست که چه خطایی دریافت کردید، ما چطور باید بفهمیم که مشکل شما از کجا ست؟!

اگر MySQL نسخه های مجزای 32-بیتی و 64-بیتی داشته باشه؛ یک مشکل شما میتونه این باشه که درایور MySQL ایی که نصب کردید 64-بیتی هست، در حالی که برنامه دلفی شما 32-بیتی هست. باید حواستون باشه که درایور مربوط به اتصال به MySQL شما 32-بیتی باشه.

h_mohamadi
چهارشنبه 08 دی 1389, 14:57 عصر
اگر MySQL نسخه های مجزای 32-بیتی و 64-بیتی داشته باشه؛ یک مشکل شما میتونه این باشه که درایور MySQL ایی که نصب کردید 64-بیتی هست، در حالی که برنامه دلفی شما 32-بیتی هست. باید حواستون باشه که درایور مربوط به اتصال به MySQL شما 32-بیتی باشه.با تشکر از آقاي کشاورز عزيز
من 2 عدد فايل mysql دارم يکي 64 بيتي و ديگري 32 بيتي و از کامپوننت MyDAC براي کانکت شدن به ديتابيس استفاده مي کنم.و وقتي مي خواهم ويندوز 7 که 64 بيتي است را سرور کنم برنامه ام پيغام can not conect to mysql 10061 را مي دهد
من منظورتان از "باید حواستون باشه که درایور مربوط به اتصال به MySQL شما 32-بیتی باشه" متوجه نشدم. مي شود يکم بيشتر توضيح بدهيد
اما اين جور که من تست کردم چون در ويندوز فايروال کار آزاد کردن localhost درست انجام نمي شود به همين دليل از کلاينت ها نمي توانم به سروري که ويندوز آن سون 64 بيت است کانکت شوم

vcldeveloper
جمعه 10 دی 1389, 08:11 صبح
من منظورتان از "باید حواستون باشه که درایور مربوط به اتصال به MySQL شما 32-بیتی باشه" متوجه نشدم. مي شود يکم بيشتر توضيح بدهيد
یعنی با توجه به اینکه برنامه دلفی شما 32-بیتی هست، باید درایور نصب شده هم 32-بیتی باشه. یک برنامه 32-بیتی نمیتونه به طور عادی یک Dll ایی که 64-بیتی هست را لود کنه. البته با توجه به پیغام خطایی که در پست دوم تان نوشتید، میشه گفت که مشکل از عدم سازگاری درایور نیست، و ظاهرا کلاینت ها سرور MySQL را پیدا نمی کنند.


اما اين جور که من تست کردم چون در ويندوز فايروال کار آزاد کردن localhost درست انجام نمي شود به همين دليل از کلاينت ها نمي توانم به سروري که ويندوز آن سون 64 بيت است کانکت شوم
خب، شما یک بار به طور آزمایشی فایروال را غیرفعال کنید، و ببینید آیا مشکل برطرف میشه یا نه. اگر میشه، اون وقت مشکل شما چگونگی میشه باز کردن یک پورت مشخص در فایروال ویندوز. این میشه یک موضوع جدا از بحث MySQL، و می تونید اون رو در یک تاپیک مستقل مطرح کنید.

h_mohamadi
یک شنبه 12 دی 1389, 18:14 عصر
یعنی با توجه به اینکه برنامه دلفی شما 32-بیتی هست، باید درایور نصب شده هم 32-بیتی باشه. یک برنامه 32-بیتی نمیتونه به طور عادی یک Dll ایی که 64-بیتی هست را لود کنه. البته با توجه به پیغام خطایی که در پست دوم تان نوشتید، میشه گفت که مشکل از عدم سازگاری درایور نیست، و ظاهرا کلاینت ها سرور MySQL را پیدا نمی کنند.


خب، شما یک بار به طور آزمایشی فایروال را غیرفعال کنید، و ببینید آیا مشکل برطرف میشه یا نه. اگر میشه، اون وقت مشکل شما چگونگی میشه باز کردن یک پورت مشخص در فایروال ویندوز. این میشه یک موضوع جدا از بحث MySQL، و می تونید اون رو در یک تاپیک مستقل مطرح کنید.


من با فايروال خاموش هم تست کردم و پيغام زير را مي دهد که آي پي داده شده آي پي کلاينت است و يک سري کارکتر هم که من با کادر آبي مشخص کردم را هم نشان مي دهد.
از دوستان تقاضا دارم که من را راهنمايي فرمائيد.

h_mohamadi
سه شنبه 14 دی 1389, 08:54 صبح
دوستان و اساتيد محترم خواهشن يک کمک و يک راه حلي به ما بدهند.با سپاس فراوان

vcldeveloper
سه شنبه 14 دی 1389, 18:32 عصر
من با فايروال خاموش هم تست کردم و پيغام زير را مي دهد که آي پي داده شده آي پي کلاينت است و يک سري کارکتر هم که من با کادر آبي مشخص کردم را هم نشان مي دهد.
این رو باید در تالار MySQL سایت بپرسید. به نظر میاد که باید یک سری تنظیمات برای دادن دسترسی های لازم به کلاینت ها در MySQL انجام بدید. این ارتباطی با دلفی نداره.