PDA

View Full Version : سوال: مشکل در enable کردن cacheDependency



V0R73X
جمعه 06 اسفند 1389, 09:35 صبح
سلام.
خلاصه براتون میگم: توی asp.net CMD دستور زیرو وارد میکنم:

aspnet_regsql -ed -E -d aspnetdb
بانکم هم همونیه که asp خودش میسازه، ولی نمیدونم چرا error دریافت میکنم:ناراحت::افسرده::
The server was not found or accessible
unable to connect to the SQL database for cache dependency
تورو خدا به دادم برسید!!!:گریه:

Ali_M.Eghbaldar
جمعه 06 اسفند 1389, 16:06 عصر
سلام دوست من :لبخندساده:
من دیروز داشتم سره این موضوع کار می کردم همه چی ok بود ولی Notification کار نمی کرد از کد زیر استفاده کن


aspnet_regsql.exe -S "MachineName\InstanceName" -E -d "MyDatabase" -ed

V0R73X
شنبه 07 اسفند 1389, 09:59 صبح
حالا این error رو میده:

The Login Failed

به نظرتون مشکل از کجاست؟؟:متفکر:

Vahid_moghaddam
شنبه 07 اسفند 1389, 10:35 صبح
user و password اشتباهه.

V0R73X
شنبه 07 اسفند 1389, 10:51 صبح
من فک کنم مشکل رو فهمیدم: تو sqlExpress فایل های بانک اصلاعاتی aspnetdb.mdf هیچوقت تو SQL Server به ثبت نمیرسن، درسته؟ بنابراین احتمالا تو regsql که فرمان اجرا میشه، هیچ پایگاهی یافت نمیشه که بخواد برای cache dependency آماده بشه!
من تست کردم و به جای اسم databaseم یه چیز الکی وارد کردم، بازم همون Error رو دیدم!
حالا به نظرتون چطور باید aspnetdb.mdf رو تو SQL Express به ثبت رسوند؟؟

V0R73X
شنبه 07 اسفند 1389, 10:52 صبح
user و password اشتباهه.
کدوم User Pass؟من از Windows Authentication استفاده کردم دیگه User Pass نمیخواد که!

Ali_M.Eghbaldar
شنبه 07 اسفند 1389, 15:06 عصر
نیازی به Username و Password نیست !!


The Login Failed

به نظرتون مشکل از کجاست؟؟

ببین تو بخش Login در Sqlserver :
login به نام Computername\ASPNET داری ؟؟؟ :متفکر:

V0R73X
شنبه 07 اسفند 1389, 19:59 عصر
منظورتون از در sql server چی هست؟؟ ضمنا من اگر هم Login رو داشته باشم نمیتونم این کارو بکنم به پست قبلیم دقت کنید:

من فک کنم مشکل رو فهمیدم: تو sqlExpress فایل های بانک اصلاعاتی aspnetdb.mdf هیچوقت تو SQL Server به ثبت نمیرسن، درسته؟ بنابراین احتمالا تو regsql که فرمان اجرا میشه، هیچ پایگاهی یافت نمیشه که بخواد برای cache dependency آماده بشه!
من تست کردم و به جای اسم databaseم یه چیز الکی وارد کردم، بازم همون Error رو دیدم!
حالا به نظرتون چطور باید aspnetdb.mdf رو تو SQL Express به ثبت رسوند؟؟
سوال اصلی اینجاست! من هنوزم روش این کارو نمیدونم، ولی میدونم که وقتی یه Database رو از طریق Add Connection به برنامه اضافه میکنیم تو SQL هم ثبت میشه. من حتی aspnetdb رو کپی کردم و از تو برنامه حذفش کردم و بعد سعی کردم ازین راه به برنامه اضافه کنم ولی بازم نشد! یه Error ی میده که میگه: CREATE DATABASE action is denied in database 'master'
A database with the same name exists, or the specific file cannot be open

V0R73X
یک شنبه 08 اسفند 1389, 00:54 صبح
آقا گرفتم: SQL Server 2008 Express به صورت پیشفرض اجازه اتصالات Remote رو نمیده!! کاری که شما باید بکنید اینه که طبق این لینک (http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server-2008-express/) تنظیمات SQL رو عوض کنید تا این اجازه رو بده، بعد اون فرمان رو تو regsql اجرا میکنید.
منتها من هنوز موفق نشدم SQL Server Management Studio Express رو نصب کنم!! توی پنجره Feature Selection طی پروسه نصب، من نمیدونم چرا، هیچ checkBoxی وجود نداره کنار گزینه ها، ولی در واقع من باید تو این پنجره یه Feature که میخوام Install کنم رو انتخاب کنم و بعد برم مرحله بعد، منتها حتی وقتی Select all رو هم میزنم هیچ گزینه ای انتخاب نمیشه و نمیزاره بقیه نصب رو انجام بدم!!!
کسی تاحالا SQL Server Management Studio Express رو نصب کرده؟
لینک دانلود (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=08e52ac2-1d62-45f6-9a4a-4b76a8564a2b)
لینک آموزش نصب (http://www.asql.biz/Articoli/SQLX08/Art3_1.aspx)
توجه: شدیدا به نسخه ای که دانلود میکنید دقت کنید: 64 یا 32 بیتی، 2005 یا 2008، و آیا نسخه sql شما express هست یا نه... لینک بالا برای SQL Server 2008 Management Studio Express 64-32 Bit است.
تورو خدا یکی به من بگه باید چیکار کنم؟ و چرا همچی چیز خنده داری تو پروسه نصب واسه من ایجاد شده؟

V0R73X
یک شنبه 08 اسفند 1389, 07:43 صبح
نه کسی کمک میکنه، نه کسی جواب میده... من خودم بازم جواب رو پیدا کردم: راه حل فقط و فقط Uninstall کردن تمام Instanceهای SQL Server 2008 و سپس Install کردن دوباره آن است، چون SQL server Management Studio فقط تو اولین Intance قابل نصب شدن است!!!!!!!!!!! وای که چه قدر ازین مایکروسافت متنفرم!!!!

aserfg
یک شنبه 08 اسفند 1389, 11:14 صبح
وای که چه قدر ازین مایکروسافت متنفرم!!!! با تمام احترام ولی اگه چندین سال با بورلند برنامه می نوشتی دیگه این حرف رو نمی زدی .
خیلی از کارهایی که امروز با یه wizard ساده انجام می دیم روزی آرزویی دست نیافتنی برای برنامه نویسان سطح پایین و حتی متوسط بود .
از طرفی کسانی باید متنفر باشن که چند میلیون پول بی زبون به محصولات مایکروسافت دادن نه من و شما :چشمک:
موفق باشید .

V0R73X
یک شنبه 08 اسفند 1389, 11:26 صبح
آقا من تمام اون کارا رو هم کردم تا این SQL Sever رو واسه اتصال ریموت Configure کنم ولی هنوزم همون اشکال وجود داره و هنوزم همون Errorی رو میده که در اول کار داده بود
Error 40 Could not open a connection to sql server

V0R73X
یک شنبه 08 اسفند 1389, 11:33 صبح
با تمام احترام ولی اگه چندین سال با بورلند برنامه می نوشتی دیگه این حرف رو نمی زدی .
خیلی از کارهایی که امروز با یه wizard ساده انجام می دیم روزی آرزویی دست نیافتنی برای برنامه نویسان سطح پایین و حتی متوسط بود .
از طرفی کسانی باید متنفر باشن که چند میلیون پول بی زبون به محصولات مایکروسافت دادن نه من و شما :چشمک:
موفق باشید .
دوست من، شما هم اگر چندین هفته در به در دنبال برنامه ای میگشتید که بدون اون نمیتونید هیچکار دیگری بکنید، و آخرش هم به نتیجه بنده میرسیدید، دیگه این حرف رو نمیزدید...
این فقط من نیستم که میگم، نیمی از دنیا اینو میگه، من دارم مایکروسافت رو با بقیه شرکت ها در عصر حاضر مقایسه میکنم: بله قبول دارم که این شرکت بزرگترین نقش رو در توسعه دنیای کامپیوتر داشته، ولی در حال حاضر، تنها چیزی که به دنبالشه، پوله.
به خاطر همین ایراد هاست که امروزه داریم موفقیت شرکت هایی مثل Apple و Google رو میبینیم.

V0R73X
یک شنبه 08 اسفند 1389, 11:39 صبح
راستی مشکل من همین الان حل شد، از کمک فراوان و همواره دوستان خیلی ممنونم، واقعا بنده رو شرمنده کردین!!:قهقهه::بامزه::لبخند:: شمک::لبخندساده:
میدونین چی شد؟؟ البته اون زحمات بی تاثیر نبود، بعد ازین که Configuration رو انجام دادم، از فرمان آقا علی استفاده کردم با یکمی تغییر:
aspnet_regsql -S Computername -E -d database -t table -et
و تمام!!!!!! طعم پیروزی، پس از ساعت ها جنگ با SQL!!!!!:قهقهه::بامزه::لبخند::چش ک::لبخندساده: برنامم هم قشنگ با نهانگاه گذاری کار میکنه!

V0R73X
یک شنبه 08 اسفند 1389, 11:52 صبح
فقط یه چیز مونده امیدوارم دوستان راهنمایی کنند:
من با اینکه هر کاری میتونم با بانک اطلاعاتیم بکنم ولی این بانک تو پوشه App_Data برنامم اضافه نشده! میخواستم بدونم که آیا این مورد هنگام Deploy کردن سایت یا به اصطلاح همون Publish کردن رو هاست مشکلی به وجود میاره؟
احتمالا بله، چون Database به همراه بقیه فایل ها Publish نمیشه، چون تو پوشه برنامم نیست، درست نمیگم؟؟ فرض میگیریم ما خود Database رو هم گیر آوردیم، حالا باید باهاش چیکار کرد؟ تا مسیرشو عوض کنی، کل برنامه به هم میریزه، کپی کردن دستی تو App_data هم مشکلی رو دوا نمیکنه چون برنامه همچنان به بانک اصلی وصل میشه!
حالا راه حل شما برای حل این مشکل چیست؟

aserfg
یک شنبه 08 اسفند 1389, 13:09 عصر
به خاطر همین ایراد هاست که امروزه داریم موفقیت شرکت هایی مثل Apple و Google رو میبینیم همین سایت گوگل بسیاری از سرویسهای تخصصی رو روی من وشمای ایرانی بسته چه حالی بهت دست می ده یا (یا سایت oracle یا سایت توسعه دهنده mysql )وقتی می گه این سرویس در کشور شما در دسترس نیست . من که به عنوان یه ایرانی خیلی بهم بر می خوره شما رو نمی دونم .ثانیا وقتی رقیب قدری مانند مایکروسافت طرف یه شرکت باشه چاره ای جز اجرای چنین روندی نداره . از طرفی درسته برنامه نویسایی گرایش به محصولات open source دارن ولی اونجه بهتره بدنید عمر این زبونها بسیار اندکه امروز جاوای به اون عظمت جای خودش رو به زبانهایی چون Ruby می ده و چندین سال دیگه ruby نیز همین سرنوشت روخواهد داشت .
در مورد مشکلتون :
با توجه به اینکه روی هاستی دیگه فکر نکنم sql server2000 نصب باشه طریقه فعال سازی رو برای بانک sql server2005 توضیح می دم :
سیستم آگاه سازی caching در دو ورژن 2000و 2005 تفاوتهای قابل ملاحظه ای دارن در sql server 2005 برای آگاه سازی از تغییرات انجام شده در بانک جهت ایجاد کش جدید از سرویسی به نام Service Broker استفاده می شه . شما دیگه نیازی به خط دستوری vs ندارید و کافیه از دستورات sql به شکل زیر استفاده کنید :

ALTER DATABASE [Northwnd] SET ENABLE_BROKER ;
GO
در اینجا بانک Northwnd به عنوان پیش فرض استفاده شده است .
در 2008 هم به همین شکل . دیدینکه مشکل از microsoft نبود . و تنها با این دستور ساده کار شما درست می شه و پیغامی به این شکل دریافت می کنید :

Command(s) completed successfully

V0R73X
دوشنبه 09 اسفند 1389, 02:50 صبح
در هر صورت به نظر من این قضیه مربوط به نظر شخصی افراد میشه که طرف مایکروسافت رو بگیرن یا شرکت های علیه اونو. من هر دوشونو دوست دارم منتها اگه مایکروسافت این دقت ها رو هم میکرد اونموقع خیلی بهتر میشد، مجبور نبودیم همه نسخه های SQL رو از اول بریزیم به خاطر اضافه کردن یه Management Studio
راستی کد شما واضح نیست، همش درباره فونته، درست نمیگم؟ ضمنا اینا رو کجا باید وارد کرد؟

aserfg
دوشنبه 09 اسفند 1389, 07:24 صبح
راستی کد شما واضح نیست،lمشکل از سایت برنامه نویسه انگار داره یه تغییراتی میده همین تگهای اضافه شده به editor از داخل تگ code برداشتم درست شد .
دوست گرامی در نسخه های sql 2000و قبل برای فعال کردن سیستم آگاه سازی بانک شما مجبور بودین اقدامات زیادی رو انجام بدین یعنی فعال سازی با خط فرمان vs + اکتیو کردن سیستم listening برای vs با اضافه کردن تگهایی در web.config
<configuration>
<connectionStrings>
<add name="NORTHWNDConnectionString"
connectionString="Data Source=SRCOSERVER\SQLEXPRESS;
Initial Catalog=NORTHWND;Integrated Security=True"/>
</connectionStrings>
<system.web>
<caching>
<sqlCacheDependency enabled="true" pollTime="15000" >
<databases>
<add name="Northwind" connectionStringName="NORTHWNDConnectionString" />
</databases>
</sqlCacheDependency>
</caching>
...
</system.web>
</configuration>

با این کد vs می فهمید که هر مثلا 1500میلی ثانیه (این مقدار رو در تگ pollTime="15000" خودمون بهش می دادیم دلخواهه) بره و چنانچه تغییراتی در بانک به وجود اومده بود کشهای مربوطه رو expire کنه .
در هر صورت روند بدین شکل بود ولی الان خیلی راحت با دستوری که بهتون معرفی کردم فعال سازی در بانک انجام شده و در web.config نیازی به هیچ تغییراتی ندارین .

ضمنا اینا رو کجا باید وارد کرد؟روی بانک کلیک راست new query و در پنجره اینا رو وارد کن و execute رو بزن .