ما هو افضل برنامج لتحزيم برنامجي المرتبط مع قاعدة بيانات sqlserver
#1
Question 
لدي برنامج مبرمج بدلفي7   وقاعدة معطيات sqlserver
ما هو افضل برنامج لتحزيمه لكي انسخه في cd   اي يصبح جاهزا للتبيت في اي جهاز اخر
وهل ينجح مع قاعدة بينات sql Angel
الرد
#2
السلام عليكم

ممكن تطرح لنا مشكلتك بالضبط ؟ لانو الحل ليس في برنامج التحزيم
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
الرد
#3
أنا أقصد كيف أقوم بتحزيم البرنامج مع قاعدة SQL server
هل أنقل قاعدة البيانات الموجود في برنامج SQL الى ملف البرنامج ثم اقوم بالتحزيم
وماهو أفضل برنامج لذلك
الرد
#4
عند تحزيم البرنامج وتثبيته في جهاز اخر

هل يعمل

مشكل في اتصال مع قاعدة بيانات
الرد
#5
السلام عليكم

أفهم من كلامك أن برنامجك يعمل مع قاعدة SQL server و تريد تحزمه مع القاعدة ؟ لعمل كتلة واحدة بدون تنصيب زبون SQL server
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
الرد
#6
نعم أخي لؤي ذاك هو المقصود

اريد تحزيم برنامجي لكي يعمل في جهاز آخر
الرد
#7
يوجد الكثير من برامج التحزيم منها المجاني ومنها غير ذلك.
install aware
create install free
ولكن بالنسبة لقاعدة البيانات وملفاتها mdf و log file, يجب أن تقوم بوضعها عند جهاز الزبون في my document او في appdata, وإلا فإنها لن تعمل.

و أيضا يجب أن تكون جاهز للإتصال بها في ذلك المكان أما بشكل مباشر أو أن تربطها مع sql server موجود, حسب الغرض منها.
الرد
#8
install creator عن تجربة سهل للتحزيم وبه خيارات عديدة
فقط للأخ PLANSHARP
ممكن توضيح تحزيم التطبيق للخادم وللعميل
وما يجب تنصيبه عند الخادم عند تنصيب التطبيق
ومايجب تنصيبه عند العميل
انتظر جوابا مفصلا وواضحا وشكر مسبق
الرد
#9
في حال استخدام قاعدة بيانات ليتم استخدامها من قبل مستخدمين على الشبكة:
فإن تحزيم التطبيق و استخدامه عند الخادم يحتاج إلى أن تنسخ قاعدة البيانات إلى مكان آمن مثل Appdata أو mydoc, ومن ثم تقوم بعمل attach لها على السيرفر الحالي.
بالنسبة لل attach , هناك العديد من الطرق:
1-عند طريق استخدام create database statement
2- أو sys.sp_attach_db
3- أو sys.sp_attach_single_file_db

فمثلا لإستخدام الطريقة الأولى, يمكنك عمل batch file وتنفيذه عند الإنتهاء من تنصيب البرنامج:
هذا الملف سيحتوي على التالي:
PHP كود :
sqlcmd -S Server\Instance


USE [master]
GO
CREATE DATABASE 
[test] ON 
( FILENAME = N'<path to database file>\test.mdf' ),
( 
FILENAME = N'<path to log file>\test_log.ldf' )
 FOR 
ATTACH ;
GO 

في حال كان السيرفر يحتوي على instance واحد و افتراضي يمكن كتابة ip السيرفر أو اسم السيرفر فقط. عند أول سطر.

طبعا يجب أن يكون لهذا المستخدم الحالي صلاحيات الولوج إلى sql server

وهكذا تكون قد نصبت برنامجك و ربطت ملفات قاعدة البيانات مع السيرفر.

أما عند جهاز الزبون فأنت لست بحاجة إلى تضمين ملفات ال database مع التحزيم, أنت بحاجة إلى تحزيم ال sql server native client الخاص بالنسخة التي تعمل عليها.
حتى يستطيع هذا الأخير من الإتصال بالسيرفر.

بالنسبة لطريقة تضمين هذا الأخير مع التحزيم, إذا لم تكن هذه الميزة موجودة في برنامج التحزيم الذي تستعمله, فيمكنك أيضا عمل batch file و تنفيذه في أحد مراحل التنصيب.
هذا ال batch file سيحتوي على script تنصيب ال sql server native client ولكن بشكل صامت كالآتي:

PHP كود :
msiexec /i <filename> /qn IACCEPTSQLNCLILICENSTERMS=YES 

filename.exe هو يجب أن يكون اسم ملف ال native client  الخاص بنسخة قاعدة البيانات المستخدمة.

كل ما سبق كان بالنسبة لقاعدة بيانات تستخدم من قبل عدة مستخدمين على الشبكة.

أما في حال عمل برنامج يستخدم ملفات sql server من أجل مستخدم واحد فقط و ليش للإستخدام الشبكي, فهنا يمكن أن يكون الإتصال مع ملفات قاعدة البيانات عن طريق الدلفي مباشرة
وذلك عن طريق استخدام محرك local db و كتابة ال connection string إذا كنت تستخدم ado كالآتي: (طبعا بعد نسخ ملفات ال database إلى مكان آمن كما ذكرت مسبقا).

كود :
ADOConnection1.ConnectionString :=      'Provider=SQLNCLI11.1;Integrated Security=SSPI;Persist Security Info=False;User ID="";Initial Catalog="";Data Source=(localdb)\v11.0;Initial File Name=' +  '<path of mdf>\<name>.mdf;DataTypeCompatibility=80;Server SPN=""'; ADOConnection1.Connected := True;

v11.0, تعود إلى نسخة ال local db المستخدمة.

وهنا أيضا يجب تثبيت ملف ال native client و ملف ال engine الخاص بالنسخة المستخدمة و ذلك عن طريق ملف batch كالآتي:
PHP كود :
msiexec /i <filename> /qn IACCEPTSQLNCLILICENSETERMS=YES
msiexec 
/i <filename> /qn IACCEPTSQLLOCALDBLICENSETERMS=YES 

ولا تنسى أن بعض أجهزة الزبائن منها 32 بت و منها 64 بت, فيجب اختيار الملفات المناسبة, وإذا كنت تواجه صعوبة في تحديد ذلك عن طريق برنامج التحزيم, يمكنك تثبيت الكل بشكل صامت و النظام سيقبل تثبيت النسخة المناسبة له تلقائيا.

وأخيرا أتمنى أن يكون هذا واضح بعض الشيء, وفق الله الجميع لما يحب و يرضى.
[-] كل من 1 user says قال شكرا ل PLANSHARP على المشاركة المفيدة
  • wadoud
الرد
#10
شكرا لكم جميعا
شرح ممتاز يفي بالغرض المطلوب
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم