PDA

View Full Version : خطاي خواندن از فايل اكسل و نوشتن در ديتابيس



kohyar
چهارشنبه 29 دی 1389, 15:26 عصر
سلام دوستان
من تو شركتمون يك اينترانت طراحي كردم با دات نت 2005 و اس كيو ال سرور 2000
دو حالت افزودن ركورد به ديتابيس واسه كاربر وجود داره
1- بصورت دستي كه اطلاعات هر ركورد رو وارد مي كنند و وارد ديتابيس ميشه
2- خواندن از فايل اكسل كه اطلاعات رو از اكسل ميخونه و اطلاعات رو وارد ديتابيس ميكنه
چند وقت پيش سرور اينترانت رو عوض كردم از ويندوز 2003 كه 32 بيتي بود بردم روي سرور 2003 كه 64 بيتي هستش و اس كيو ال سرور رو هم 2008 كردم
از ديتابيس تو 2000 يك backup گرفتم و روي 2008 restore كردم
همه قسمت هاي برنامه درست كار ميكنه فقط خواندن از فايل اكسل دچار مشكل شده
يعني فايل اكسل روي سرور آپلد ميشه ولي به محض اينكه اولين سطر رو ميخوانه و مي خواد با sp وارد ديتابيس كنه خطاي زير رو ميده
A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)

كانكشن استرينگ كه توي web.config نوشتم به اين صورت هستش
<add key="connectionstring" value="server=172.27.172.4; database=Doc; user=sa; password=;" />
تو اينترنت جستجو زدم گفتند بايد توي كانكشن استرينگ اين عبارت رو بذاري
Connect Timeout=200; pooling=true; Max Pool Size=200
حالا وقتي از روي محيط ويژوال خودم برنامه رو اجرا ميكنم و آي پي سرور رو ميدم اطلاعات رو وارد ديتابيس سرور ميكنه ولي وقتي برنامه رو از روي اينترانت اجرا ميكنم بازم همين خطا رو ميده

reuonis
دوشنبه 04 بهمن 1389, 11:19 صبح
سلام دوست من
من با این مشکل توی ویندوز اپلیکیشن مواجه شدم. این مشکل به دلیل ساپورت نکردن 64 بیتی از Microsoft.Jet.OleDb هستش. شما 2 راه دارید :
1- سایتتون رو با 32 بیتی پابلیش کنید و دیگه این مشکل رو ندارید(راحت ترین راه)
2- Microsoft.Jet.OleDb برای 64 بیتی را پیدا کنید و نصب کنید. من خودم اون موقع زیاد دنبالش گشتم فکر نکنم باشه شاید هم اومده باشه.
به هر حال من این دو تا راه به نظرم رسید امیدوارم مشکتون حل بشه

kohyar
دوشنبه 25 بهمن 1389, 06:51 صبح
سلام دوست من
من با این مشکل توی ویندوز اپلیکیشن مواجه شدم. این مشکل به دلیل ساپورت نکردن 64 بیتی از Microsoft.Jet.OleDb هستش. شما 2 راه دارید :
1- سایتتون رو با 32 بیتی پابلیش کنید و دیگه این مشکل رو ندارید(راحت ترین راه)
2- Microsoft.Jet.OleDb برای 64 بیتی را پیدا کنید و نصب کنید. من خودم اون موقع زیاد دنبالش گشتم فکر نکنم باشه شاید هم اومده باشه.
به هر حال من این دو تا راه به نظرم رسید امیدوارم مشکتون حل بشه

با سلام
ممنون از دوست عزيزي كه جواب سوال رو داده
فقط ميشه توضيح بديد كه چطور ميتونم تو ويندوز 64 بيتي سايت رو بصورت 32 بيتي پاپليش كنم؟؟؟؟
اگه ميشه مراحل رو برام توضيح بديد؟؟
ميترسم اشتباه انجام بدم و مشكلي واسه سرور پيش بياد