در نسخههای جدید نرمافزارهای حسابداری مجموعه پژواک (مانند نرمافزار حسابداری پرنس، پرند و…)، تغییرات زیرساختی مهمی در نحوه اتصال به پایگاه داده (Database) ایجاد شده است. بسیار پیش میآید که کاربران و پشتیبانان سیستم با وضعیت عجیبی مواجه میشوند: برنامه اصلی حسابداری بدون هیچ مشکلی باز شده و کار میکند، اما تمام نرمافزارهای جانبی، سرویسهای پسزمینه و ابزارهای متصل به سیستم با خطای عدم ارتباط با بانک اطلاعاتی (Database Connection Error) روبرو میشوند.
اگر شما هم در نسخههای ۷.۰۰ به بالا یا ۴.۶۶ به بالا با این مشکل مواجه شدهاید، اصلاً نگران نباشید. در این مقاله تخصصی از سری آموزشهای پژواک آموز، علت فنی وقوع این اختلال و راهکار گامبهگام و قطعی حل آن را بررسی میکنیم.

چرا نرم افزار اصلی اجرا میشود اما سرویسهای جانبی خطای دیتابیس میدهند؟
برای درک بهتر این مشکل، باید نحوه کارکرد سیستم اتصال به دیتابیس را در نسخههای قدیم و جدید مقایسه کنیم.
نحوه اتصال در نسخههای قدیمی
در نسخههای گذشته، تمام بخشهای سیستم—چه نرمافزار اصلی و چه سرویسهای جانبی (مانند سرویسهای کالر آیدی، سامانه مودیان، نرمافزارهای اندرویدی، برنامههای گزارشگیری و…)—اطلاعات سرور SQL را مستقیماً از دو فایل متنی پایه میخواندند:
Server.txt: شامل نام یا IP سروری که دیتابیس روی آن نصب است.Instancename.txt: شامل نام اینستنس (Instance Name) اسکیوئل سرور.
تغییرات ساختاری در نسخه ۷.۰۰ و ۴.۶۶ به بالا
در نسخههای جدید جهت افزایش سرعت و پایداری، مکانیزم اتصال تغییر کرده است. برنامه اصلی پس از خواندن اطلاعات سرور، یک فایل پیکربندی ویژه به نام SuccessConnectionString در کنار فایل اجرایی خود (.exe) میسازد و از این به بعد برای اتصال سریع به دیتابیس از این فایل استفاده میکند.
سناریوی بروز خطا:
- هنگامی که برنامه برای اولین بار اجرا میشود، سعی میکند اطلاعات سرور را از فایلهای
Server.txtوInstancename.txtبخواند. - اگر کاربر یا کارشناس نصب، این دو فایل را به درستی تنظیم نکرده باشد یا آنها را خالی رها کرده باشد، نرمافزار اصلی وارد حالت تلاش مجدد (Retry) میشود.
- پس از چند بار تلاش ناموفق، نرمافزار برای جلوگیری از متوقف شدن کاربر، بهصورت خودکار از یک نام سرور پیشفرض یعنی
(local)\ACCSOFTENGINEاستفاده میکند. - اگر دیتابیس روی این مسیر پیشفرض باشد، فایل
SuccessConnectionStringبر همین اساس ساخته شده و برنامه اصلی بدون هیچ مشکلی باز میشود. - اصل مشکل اینجاست: نرمافزارها و سرویسهای جانبی هنوز به معماری متکی بر فایلهای
Server.txtوInstancename.txtوابسته هستند! از آنجا که این دو فایل اصلاح نشدهاند، سرویسهای جانبی نمیتوانند به دیتابیس متصل شوند و خطای ارتباط با بانک اطلاعاتی نمایش داده میشود.
آموزش گام به گام رفع خطای ارتباط با دیتابیس
برای حل کامل و ریشهای این مشکل، باید اطلاعات مسیر سرور را در فایلهای پایه متنی اصلاح کرده و سپس تمامی سرویسها را بازنشانی (Restart) کنید. مراحل زیر را به ترتیب انجام دهید:
گام اول: یافتن پوشه محل نصب نرمافزار
- روی آیکون اصلی نرمافزار حسابداری در دسکتاپ کلیک راست کنید.
- گزینه Open file location را انتخاب کنید تا وارد پوشه اصلی برنامه شوید.

گام دوم: اصلاح فایل Server.txt
- در پوشه برنامه، فایل متنی
Server.txtرا پیدا کرده و آن را با برنامه Notepad باز کنید. - نام کامل سرور یا IP سیستمی که دیتابیس روی آن قرار دارد را وارد کنید.
- نکته: اگر دیتابیس روی همین سیستم (سیستم سرور) است، معمولاً عبارت
.یاlocalیا نام خود کامپیوتر قرار میگیرد.
- نکته: اگر دیتابیس روی همین سیستم (سیستم سرور) است، معمولاً عبارت
- فایل را ذخیره (
Ctrl + S) و ببندید.
گام سوم: اصلاح فایل Instancename.txt
- در همان پوشه، فایل
Instancename.txtرا باز کنید. - نام اینستنس اسکیوئل سرور خود را با دقت وارد کنید (به عنوان مثال
ACCSOFTENGINEیاSQLEXPRESS). - فایل را ذخیره کرده و ببندید.

گام چهارم: حذف یا بازسازی فایل SuccessConnectionString (در صورت نیاز)
جهت اطمینان از اینکه نرمافزار اصلی نیز مجدداً کانکشن استرینگ درست را بر اساس فایلهای جدید میسازد:
- نرمافزار حسابداری را کاملاً ببندید.
- فایل
SuccessConnectionStringموجود در پوشه برنامه را حذف (Delete) کنید. - با اجرای مجدد برنامه، این فایل بر اساس اطلاعات صحیح جدید دوباره ساخته میشود.
گام پنجم: ریستارت کردن سرویسها و برنامههای جانبی
پس از اصلاح فایلها، سرویسهای جانبی متوجه تغییرات نمیشوند مگر اینکه یکبار کاملاً بسته و دوباره اجرا شوند:
- کلیدهای ترکیبی
Ctrl + Shift + Escرا بزنید تا Task Manager باز شود. - در زبانه Details یا Processes، تمام فرآیندهای مربوط به نرمافزارهای جانبی و سرویسهای پژواک را ببندید (End Task کنید).
- یا وارد بخش
services.mscویندوز شده و سرویسهای مربوطه را Restart کنید. - برنامههای جانبی را مجدداً اجرا کنید. مشکل به طور کامل برطرف خواهد شد.

نکات کلیدی جهت جلوگیری از بروز مجدد مشکل
- دقت در نصب اولیه: هنگام نصب یا ارتقای نرمافزار به نسخههای بالای ۷.۰۰ یا ۴.۶۶، همیشه پیش از اولین اجرای برنامه، ابتدا فایلهای
Server.txtوInstancename.txtرا بررسی و تنظیم کنید. - تنظیمات شبکه و فایروال: در صورتی که سیستمها به صورت شبکه (کلاینت-سرور) کار میکنند، مطمئن شوید که IP درج شده در فایل
Server.txtکلاینتها، ثابت (Static IP) باشد. - دسترسی ادمین (Run as Administrator): هنگام ویرایش و ذخیره فایلهای متنی در پوشههای Program Files ویندوز، حتماً Notepad را در حالت
Run as administratorاجرا کنید تا تغییرات به درستی ذخیره شوند.

سوالات متداول (FAQ)
۱. چرا برنامه اصلی بدون مشکل باز میشود اما نرمافزار جانبی خطا میدهد؟
چون برنامه اصلی در نسخههای جدید از فایل پیکربندی هوشمند SuccessConnectionString برای اتصال استفاده میکند، اما نرمافزارهای جانبی کماکان اطلاعات اتصال را از فایلهای Server.txt و Instancename.txt میخوانند.
۲. فایل SuccessConnectionString کجا قرار دارد؟
این فایل به صورت خودکار در پوشه اصلی محل نصب نرمافزار (در کنار فایل اصلی اجرای برنامه) ساخته میشود.
۳. آیا با جایگزینی این فایلها اطلاعات حسابداری من پاک میشود؟
خیر، این فایلها فقط شامل آدرس و مسیر اتصال به دیتابیس هستند و هیچگونه داده یا اطلاعات حسابداری در آنها ذخیره نمیشود.
پیشنهاد پژواک آموز: اگر با طی کردن مراحل فوق همچنان در اتصال سرویسهای جانبی به دیتابیس با مشکل مواجه هستید، میتوانید از بخش پشتیبانی فنی پژواک آموز راهنمایی دریافت کنید یا سوالات خود را در بخش نظرات همین مقاله مطرح نمایید.