سؤال

أنا أقوم بإنشاء تطبيق C ++ يستخدم قاعدة بيانات MySQL. أود أن يخلق التطبيق حساب لنفسه، إن أمكن. لم أجد طريقة للقيام بذلك.

في كل مرة أتنكر فيها طلبي، نسيت تسلسل الإعداد. يتطلب تسلسل الإعداد الحالي إنشاء حساب في MySQL للتطبيق المراد استخدامه. بمجرد أن يحتوي التطبيق على حساب وامتيازات، يمكنه إنشاء قاعدة البيانات وإعداد الجداول.

أيضا، سيكون هذا مزعجا بعض الشيء للمستخدمين النهائيين. سيكون طلبي أسهل في استخدامه إذا كان التطبيق يمكن أن يؤدي كل الإعداد.

أمثلة وجدت أن كل دولة لإنشاء حساب مستخدم في MySQL أولا قبل تشغيل التطبيق. تخبر الإرشادات عادة كيفية إنشاء الحساب باستخدام تطبيق سطر الأوامر MySQL. لكنني أريد طلبي إنشاء حساب خاص به في MySQL.

أنا أستخدم Visual Studio 2008، C ++ لغة، وموصل MySQL C ++ 1.0.5. النظام الأساسي هو نظام التشغيل Windows XP أو Vista. يستخدم الموصل API مماثلة ل API Java JDBC. سأقبل أمثلة في Java أو C ++.

راجع للشغل، كنت أواجه مشاكل في استخدام ODBC، لذلك فهي غير واردة.

شكرًا.

هل كانت مفيدة؟

المحلول

لديك أ دجاج أو مشكلة البيض هنا. لا يمكنك إنشاء حساب قاعدة بيانات دون وجود بيانات اعتماد الحساب اللازمة لتسجيل الدخول إلى الخادم وإنشاء حساب آخر للتطبيق الخاص بك.

بالإضافة إلى ذلك، من الشائع جدا بالنسبة للمستخدمين تقديم بيانات اعتماد حساب قاعدة البيانات أثناء وقت التثبيت / الإعداد، حتى لو كان "مزعجا". إذا كان التطبيق الخاص بك يعتمد على قاعدة بيانات، يجب أن يتوقع من المستخدمين التعامل مع خادم قاعدة البيانات ومعلمات الاعتماد الخاصة بهم.

عميل قاعدة البيانات (JDBC / ODBC) واللغة (Java / C ++) غير ذي صلة مع معضلك، لسوء الحظ.

إذا كنت بحاجة فقط إلى قاعدة بيانات داخلية خفيفة الوزن للتطبيق الخاص بك، فربما يجب أن تنظر إلى sqlite قاعدة البيانات المضمنة بدلا من mysql. من شأنه أن يسمح قاعدة بيانات التطبيق الخاصة بك بالتأكيد، دون أي إعداد مستخدم.

نصائح أخرى

ربما بدلا من إدراج إنشاء الحساب في التطبيق الخاص بك، يمكنك تضمينه في برنامج الإعداد الخاص بك. نظرا لأن برنامج الإعداد الخاص بك يعمل، فيمكن أيضا تشغيل العملية الموضحة لإنشاء حساب أو استخدامه.

إذا كان هذا يبدو غير مرض، وربما تعليمات الإعداد الخاصة بك يمكن أن تفصل عملية إنشاء الحساب.

يمكنك إنشاء حساب وجداول و ... كل شيء من استعلام SQL.

أولا، قم بإجراء حساب افتراضي يحتوي على امتيازات كافية لإنشاء مستخدم / جدول / قاعدة بيانات جديد، ولكن لا توجد امتيازات كافية لحرق المكان.

ثانيا، عندما يقوم المستخدم أولا بإطلال التطبيق الخاص بك، في النهاية، يسجل برنامجك البرنامج في قاعدة بيانات MySQL، ويرسل استعلام SQL إلى قاعدة بيانات MySQL لإنشاء مستخدم مستخدم / طاولة جديد / قاعدة بيانات جديدة.

ثالثا، يسجل طلبك من الحساب الافتراضي، وفي الحساب الذي تم إنشاؤه حديثا.

إذا فعلت شيئا مشابها لهذا، فتأكد من النظر في مخاوف أمنية محتملة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top