منزل
Top.Mail.Ru Yandeks.Metrika
المنتدى: "القواعد";
الأرشيف الحالي: 2002.07.25;
تنزيل: [xml.tar.bz2];

إلى

آه! كيف تجبر الجلسات على عدم تسجيل الدخول وكلمة المرور؟! البحث عن فروع مماثلة


Aleksandr   (2002-07-02 15:53) [0]

Mlyn ، لا أرى حتى خصائص نوع LoginPromt في TSession ... وكل جلسة تطلب على الفور تسجيل الدخول وكلمة المرور عند إنشاء ... كيفية قطع الاتصال؟ 1



Val   (2002-07-02 16:01) [1]

أي قاعدة بيانات؟



Aleksandr   (2002-07-02 16:07) [2]

وأضاف MS SQL ... مليان ، في المنتدى خاطئ :(



Val   (2002-07-02 16:29) [3]

جلسة العمل لديها قواعد بيانات الملكية ، ولديهم LoginPromt.



Aleksandr   (2002-07-02 16:33) [4]

آسف ، أنا لا أفهم تماما. لدي مكون TDataBase في كائن يقوم بإنشاء مؤشرات ترابط TQuery عند الطلب (يحتوي على جلسة خاصة به). عند إنشاء طلبات ، أقوم بتعيين اسمها ، وكذلك إنشاء جلسة فريدة. اعتقدت أن كل هذه الجلسات ستدرك تلقائيًا مثيل TDataBase كقاعدة بيانات. ولكن اتضح أنها ليست هناك حاجة بطريقة أو بأخرى؟



Aleksandr   (2002-07-02 16:45) [5]

نعم ، بالمناسبة ، قائمة قواعد البيانات للجلسات الديناميكية فارغة: (... لذا ليس هناك ما يمكن معالجته.



Val   (2002-07-02 17:08) [6]

صف تسلسل أفعالك



Aleksandr   (2002-07-03 11:14) [7]

تسلسل الإجراءات كما يلي:

1. يتم إنشاء مثيل TDataBase عند سليل TList ، يتم تعيين معلمات الاتصال (اسم ODBC ، تسجيل الدخول ، كلمة المرور).
2. يتم إنشاء مثيل TSession باسم فريد ، يتم تعيين اسمه إلى FDataBase.SessionName.
3. يتم إنشاء TQuery واحد ، DataBaseName الخاص به: = خاصية FDataBase.DataBaseName ، يفتح ويفتح قائمة الجداول المتاحة ، ثم يتم إتلافه.
4. يتم إنشاء العديد من سلاسل العمليات ، يشير كل منها إلى خاصية سليل TList.Queries [i] ، والتي تُرجع مثيلات الاستعلام المفتوح مع الوظيفة التالية:
function TQueryList.GetSQLQuery (IDT: Word): TQuery؛ فار MTI: TQueryItem ؛ s: سلسلة Sn: TSession ؛ تبدأ النتيجة: = لا شيء ؛ MTI: = GetTblItem (IDT) ؛ إذا لم يتم التعيين (MTI) إذن خروج النتيجة: = TQuery.Create (لا شيء) ؛ حاول Result.DatabaseName: = FDataBase.DatabaseName؛ s: = "FSession _" + MTI.TblName + IntToStr (عشوائي (100) +1) ؛ بينما Sessions.FindSession (s) <> لا شيء s: = "FSession _" + MTI.TblName + IntToStr (عشوائي (100) +1) ؛ {sn: = TSession.Create (لا شيء) ؛ sn.SessionName: = s ؛ Sn.KeepConnections: = خطأ ؛ Sn.Open؛} Result.SessionName: = Sessions.OpenSession (s) .SessionName ؛ Result.SQL.Add ("SELECT * FROM" + MTI.TblName) ؛ Result.RequestLive: = true؛ النتيجة مفتوحة باستثناء على E: يبدأ الاستثناء LogError ("GetInActiveSQLQuery" ، E) ؛ النتيجة. النتيجة: = لا شيء النهاية النهاية نهاية ؛

وهذا هو التسلسل كما يلي:
1. إنشاء طلب
2. تعيين الخاصية الخاصة به FDataBase.DataBaseName إلى خاصية DataBaseName.
3. قم بتعيين اسم مثيل TSession الذي تم إنشاؤه إلى خاصية SessionName.
يؤخذ في التعليقات هو الخيار الثاني. في الإصدار الأول ، يتطلب اسم مستخدم وكلمة مرور ، وفي النسخة الثانية تقول أن اسم الجلسة مفقود.



Val   (2002-07-03 11:59) [8]

ولكن ماذا عن FDataBase مع LoginPromt؟



anatol   (2002-07-03 12:32) [9]

esli vi rabotaete s BDE:
Cajdii videlenii potok doljen raspologatsea vnutri sobstvenogo seansa، ato dostigatsea tem 4to:
a) v potoke sozdaestea TQuery، dlea nego sozdoetsea TSession s unikalnim SessionName i priscaivaetsea svoistvu SessionName u TQuery. Esli ispol "zuietsea TDatabase، taje dlea cajdogo senasa nujen unikal" nii element TDatabase.



Andrey007   (2002-07-03 12:55) [10]

لا أعرف ماذا عن MS SQL ، ولكن مع Oracle يتم ذلك على النحو التالي:
1. يتم وضع مكون TDataBase ، في خاصية AliasName يتم تحديد الاسم المستعار الضروري.
2. في الحقل DataBaseName ، يتم كتابة الاسم المستعار Alias ​​"a. على سبيل المثال ، MyPseudoAlias.
3. تقول ممتلكات بارامز:
اسم المستخدم = على التوالي
PASSWORD = على التوالي
4. في مكون الوصول إلى قاعدة البيانات (TTable ، TQuery) ، في حقل DataBaseName ، اكتب MyPseudoAlias. بشكل أساسي ، يجب أن تظهر في قائمة الاسم المستعار. لا يمكن أن تظهر إلا عندما يكمن مكون TDataBase في نموذج واحد أو وحدة بيانات ، ومكون TTable أو TQuery على نموذج آخر وفي نفس الوقت الوحدة مع نموذج TDataBase غير نشط.
وهذا كل شيء.



Aleksandr   (2002-07-03 14:26) [11]

FDataBase.LoginPromt = false ؛

2 أندري 007:
ليس لدي استمارات على الإطلاق هنا. هذا برنامج وحدة تحكم.

2 اناتول

لذا ، بالنسبة لكل جلسة تم إنشاؤها حديثًا ، أحتاج إلى القيام بشيء مثل:

بدأ
DB: = TDataBase.Create (لا شيء) ؛
DB.DataBaseName: = DefSQLDataBaseName؛
DB.LoginPromt: = false ؛
DB.KeepConnection: = صحيح ؛
DB.Params.Add ("USER NAME =" + DefLogin) ؛
DB.Params.Add ("PASSWORD =" + DefPassword) ؛
DB.SessionName: = Sessions.OpenSession (TableName + IntToStr (Random (1000)).
النتيجة: = TQuery.Create (لا شيء) ؛
Result.DataBaseName: = DB.DataBaseName؛
Result.SQL.Add ("SELECT * FROM" + TableName) ؛
Result.RequestLive: = true؛
النتيجة مفتوحة
ينتهي. ؟

إذا كان الأمر كذلك ، فإن السؤال هو: من يجب أن يقتل هذه الجلسات وهذه القواعد؟ أم أنها أبيد بطريقة أو بأخرى؟ وهل من الممكن حتى لعدة TDataBase من نفس البرنامج للعمل مع نفس مصدر ODBC؟



Andrey007   (2002-07-03 14:31) [12]

في هذه الحالة ، يمكنك إضافة TDataModule إلى المشروع ووضع TDataBase ، TTable ، TQuery ، إلخ.



Andrey007   (2002-07-03 14:33) [13]

بشكل عام ، أقوم بهذا:

محاولة
إن لم يكن Logon.Execute ثم OraSession.Logoff آخر OraSession.LogOn
ما عدا النهاية ؛
إن لم يكن OraSession.Connected ثم توقف ؛
Database1.Params.Clear.
Database1.Params.Add ("USER NAME =" + OraSession.LogonUsername) ؛
Database1.Params.Add ("PASSWORD =" + OraSession.LogonPassword) ؛
Database1.Connected: = صحيح



Val   (2002-07-03 14:40) [14]

> Aleksandr © (03.07.02 14: 26)
ومن يجب عليه بعد ذلك قتل هذه الجلسات وهذه DB؟
الشخص الذي خلق.
وهل من الممكن أن يكون لديك عدة TDataBase من برنامج واحد ...
لم لا؟



Aleksandr   (2002-07-03 14:51) [15]

2 فال:

أي ، في تلك التدفقات التي يتم استلام الكائن فيها ، تحتاج إلى الحصول على قاعدة بيانات هذا الكائن وجلسة هذا الكائن ، ثم جعله مجانيًا؟

كنت آمل أن يقتلوا هم أنفسهم (على الأقل جلسات) عندما تختفي جميع المكونات التي تستخدمها ...



Val   (2002-07-03 15:12) [16]

إنهم لا يقتلون أنفسهم. عندما ، على سبيل المثال ، يتم الاستلقاء على نموذج في DesignTime ، يتم قتلهم تلقائيًا عند إغلاقه ، وهكذا تقتل بيديك.



Aleksandr   (2002-07-03 15:20) [17]

ثم لا أفهم شيئًا آخر. في Delfi ، يتم ذكر قواعد البيانات المؤقتة للجلسة. بمعنى ، لا يحتاج النوع إلى إنشاء بواسطة TDataBase ، ويتم قتل الأنواع المؤقتة بمفردها ...



anatol   (2002-07-03 15:30) [18]

الكسندر ©:
ya poslal na tag@rateinfo.ru pravil "nii primer raboti s BDE v mnogopoto4nom rejime.



Aleksandr   (2002-07-03 15:55) [19]

الأناضول:
شكرا لك!



صفحات: 1 فرع كامل

المنتدى: "القواعد";
الأرشيف الحالي: 2002.07.25;
تنزيل: [xml.tar.bz2];

الطابق العلوي





الذاكرة: 0.61 ميغابايت
الوقت: 0.03 ج
1-81349
olookin
2002-07-13 13:18
2002.07.25
كتابة البديل إلى ملف


3-81128
Vicheslav
2002-07-03 13:10
2002.07.25
مساعدة في تصميم الجداول.


1-81269
أوليج لوكارت
2002-07-08 12:44
2002.07.25
مشاكل مع RichEdit


1-81298
EugenCFG
2002-07-12 11:03
2002.07.25
كيفية عمل أزرار بأحجام مختلفة في ToolBar ...


14-81479
ذهبي
2002-06-29 09:30
2002.07.25
قراءة هذا .... على وجه السرعة!





الأفريكانية الألبانية عربي الأرميني أذربيجان الباسكي البيلاروسية Bulgarian التشيكية الصينية المبسطة) تقاليد صينية) الكرواتية التشيكية دانماركي Dutch English الإستونية الفلبينية Finnish جيب
الجاليكية الجورجية الألمانيّة اليونانيّة الكريولية الهايتية اللغة العبرية الهندية الهنغارية أيسلندي Indonesian الأيرلندية Italian اليابانيّة الكوريّة اللاتفية اللتوانية المقدونية الملايو المالطية Norwegian
اللغة الفارسية بولنديّة البرتغاليّة رومانية Russian صربي السلوفاكيّة سلوفيني إسباني السواحيلي Swedish Thai التركية الأوكراني الأردية الفيتنامية ويلزي اليديشية البنغالي البوسنية
السيبيونو الاسبرانتو الغوجاراتية الهوسا همونغ الإيبو جاوي الكانادا الخمير لاو لاتينية الماوري المهاراتية المنغولية النيبالية البنجابية الصومالية التاميل التيلجو اليوروبا
زولو
Английский Французский ألماني Итальянский البرتغالية Русский Испанский