delphi4arab منتديات دلفي للعرب
ما هو افضل برنامج لتحزيم برنامجي المرتبط مع قاعدة بيانات sqlserver - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : ما هو افضل برنامج لتحزيم برنامجي المرتبط مع قاعدة بيانات sqlserver (/showthread.php?tid=7577)



ما هو افضل برنامج لتحزيم برنامجي المرتبط مع قاعدة بيانات sqlserver - فارس المطر - 03-03-2016

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


RE: ما هو افضل برنامج لتحزيم برنامجي المرتبط مع قاعدة بيانات sqlserver - Mr.DOS - 04-03-2016

السلام عليكم

ممكن تطرح لنا مشكلتك بالضبط ؟ لانو الحل ليس في برنامج التحزيم


RE: ما هو افضل برنامج لتحزيم برنامجي المرتبط مع قاعدة بيانات sqlserver - فارس المطر - 04-03-2016

أنا أقصد كيف أقوم بتحزيم البرنامج مع قاعدة SQL server
هل أنقل قاعدة البيانات الموجود في برنامج SQL الى ملف البرنامج ثم اقوم بالتحزيم
وماهو أفضل برنامج لذلك


RE: ما هو افضل برنامج لتحزيم برنامجي المرتبط مع قاعدة بيانات sqlserver - فارس المطر - 04-03-2016

عند تحزيم البرنامج وتثبيته في جهاز اخر

هل يعمل

مشكل في اتصال مع قاعدة بيانات


RE: ما هو افضل برنامج لتحزيم برنامجي المرتبط مع قاعدة بيانات sqlserver - لؤي - 05-03-2016

السلام عليكم

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


RE: ما هو افضل برنامج لتحزيم برنامجي المرتبط مع قاعدة بيانات sqlserver - فارس المطر - 05-03-2016

نعم أخي لؤي ذاك هو المقصود

اريد تحزيم برنامجي لكي يعمل في جهاز آخر


RE: ما هو افضل برنامج لتحزيم برنامجي المرتبط مع قاعدة بيانات sqlserver - PLANSHARP - 06-03-2016

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

و أيضا يجب أن تكون جاهز للإتصال بها في ذلك المكان أما بشكل مباشر أو أن تربطها مع sql server موجود, حسب الغرض منها.


RE: ما هو افضل برنامج لتحزيم برنامجي المرتبط مع قاعدة بيانات sqlserver - rahli.hamza.4124 - 06-03-2016

install creator عن تجربة سهل للتحزيم وبه خيارات عديدة
فقط للأخ PLANSHARP
ممكن توضيح تحزيم التطبيق للخادم وللعميل
وما يجب تنصيبه عند الخادم عند تنصيب التطبيق
ومايجب تنصيبه عند العميل
انتظر جوابا مفصلا وواضحا وشكر مسبق


RE: ما هو افضل برنامج لتحزيم برنامجي المرتبط مع قاعدة بيانات sqlserver - PLANSHARP - 08-03-2016

في حال استخدام قاعدة بيانات ليتم استخدامها من قبل مستخدمين على الشبكة:
فإن تحزيم التطبيق و استخدامه عند الخادم يحتاج إلى أن تنسخ قاعدة البيانات إلى مكان آمن مثل 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 بت, فيجب اختيار الملفات المناسبة, وإذا كنت تواجه صعوبة في تحديد ذلك عن طريق برنامج التحزيم, يمكنك تثبيت الكل بشكل صامت و النظام سيقبل تثبيت النسخة المناسبة له تلقائيا.

وأخيرا أتمنى أن يكون هذا واضح بعض الشيء, وفق الله الجميع لما يحب و يرضى.


RE: ما هو افضل برنامج لتحزيم برنامجي المرتبط مع قاعدة بيانات sqlserver - فارس المطر - 09-03-2016

شكرا لكم جميعا
شرح ممتاز يفي بالغرض المطلوب