نمایش نتایج 1 تا 24 از 24

نام تاپیک: Connection String را میخواهم که در زمان اجرای برنامه تشکیل بدهم

  1. #1

    Connection String را میخواهم که در زمان اجرای برنامه تشکیل بدهم

    سلام به همه؛

    اگه بخوام Connection String برای کلاینت ها در زمان اجرای برنامه ساخته بشود ، باید چیکار کنم ؟

    توضیح بیشتر : خب برای ConStr ، به چه احتیاج داریم ؟ به نام دیتابیس سروری که روی کلاینت ها نصبه ( آخه نصبه ! یعنی کلاینت ها هم SqlServer نصب دارند ) ، اسم کامپیوتر هر کلاینت ( ویا آدرس شبکه ای اش ) و ... خب دیگه ! منظورم اینه که این اطلاعات را چطوری در زمان اجرا بدست بیارم ؟

    خیلی ممنون که کمک میکنید .


    البته طبق قوانین سایت ، قبل از طرح سوال ، اول جستجو کردم و به این رسیدم ، که متاسفانه مشکلم را حل نکرد .

    http://www.barnamenevis.org/sh...4+%C7%CC%D1%C7




  2. #2
    شما به اسم یا IP دستگاهی که دیتا بیس روی آن است احتیاج دارید بعلاوه یه UserName , Password
    یک راهش این است که شما یک INI فایل درست کنید و کنار فایل اجرایی خود قرار دهید و در موقع
    اجرا پارامترها را از آن بخوانید و ConnectionString خود را ایجاد کنید
    UserName , Password خود را نیز بصورت Encrypt شده داخل یک فایل دیگر قرار دهید و موقع اجرا
    آنرا Decode کرده و استفاده کنید.
    بدین صورت چون برنامه شما از این فایلها استفاده میکنید میتوانید آنرا روی هر دستگاهی
    خواستید به بانک خود که میتواند روی هر دستگاه دیگر باشد نیز وصل کنید.

  3. #3
    متشکر آقای یعقوبی.

    ولی سوال من ، نحوه نگهداری ConStr نیستش .

    سوالم اینه که چگونه ، پارامترهای مورد نیاز را از کامپیوتر کلاینت ، استخراج کنم ؟ توسط چه دستورات و توابعی ؟

    خیلی ممنون.
    آخرین ویرایش به وسیله Malena : دوشنبه 25 اردیبهشت 1385 در 09:20 صبح

  4. #4
    چه پارامترهایی را میخواهید استخراج کنید ؟
    نام کامپیوتر یا ... ؟

  5. #5
    نقل قول نوشته شده توسط B_YAGHOBI
    چه پارامترهایی را میخواهید استخراج کنید ؟
    نام کامپیوتر یا ... ؟
    هرچی که لازم باشه .

    مثلا این دوتا : نام کامپیوتر کلاینت ، نام دیتابیس سرور کلاینت .

    دیتابیس هم SqlServer هستش.

  6. #6
    نام دیتا بیس را که شما خودتان هر اسمی که بدهید همون میشه بستگی به اسمی که شما
    میدهید که میتوانید یک اسم ثابت بگذارید و داخل برنامه از آن اسم استفاده کنید.
    نام کامپیوتر :

    Function ComputerName : String ;
    Var S : Array[0..255] Of Char ;
    nSize : Cardinal ;
    Begin
    nSize := 255 ;
    GetComputerName(S, nSize) ;
    Result := StrPas( S ) ;
    End;

  7. #7
    ممنون از راهنمایی شما . تشکر.

    درمورد نام دیتابیس سرور هم حق با شماست.
    ولی ای کاش ، برای بدست آوردن اون هم تابعی معرفی کرده بودید . ( دیگه نور علی نور میشد )
    آخرین ویرایش به وسیله Malena : دوشنبه 25 اردیبهشت 1385 در 09:56 صبح

  8. #8
    اگر میخواهید لیست دیتا بیسها را در SQL Server بدست بیاورید از طریق یک Query
    میتوانید آنرا بدست بیاورید :

    exec sp_databases

  9. #9
    مرسی بابت sp .

    میخوام که اسم اون اینستنسی از SqlServer که روی کامپیوتر کلاینت ها نصب هستش را بدست بیارم که بتونم ConnectionString درست کنم.

    ممنون. چقدر تند تند جواب میدین

  10. #10
    یک مثال میزنم که لیست تمام SQL Server ها را نشان بدهد :
    فایل های ضمیمه فایل های ضمیمه

  11. #11
    خیلی زحمت کشیدید. ممنون.

    میخونمش و اگه باز هم مشکلی بود ، مزاحم میشم.
    دستتون درد نکنه.

  12. #12
    ببخشید اجراش کردم ولی
    برای من چیزی لیست نکردش .

  13. #13

    Lightbulb

    این مثال را هم امتحان کنید :
    فایل های ضمیمه فایل های ضمیمه

  14. #14
    واسه خودتون کار کرد کد دومی ؟ واسه من که کار نکرد

    SQL Server هم که روشنه . هم 2000 و هم 2005 .

  15. #15
    شما احتمالا TCP/IP ندارید؟
    در Network Connections خود یک Virtual Connection ایجاد کنید سپس امتحان کنید.

  16. #16
    مرسی . امروز خیلی بهتون زحمت دادم .

    این را هم از AboutDelphi پیدا کردم ولی هنوز تستش نکردم .
    uses DB, ADODB, Variants, ActiveX, 
    ComObj, AdoInt, OleDB;
    ...
    procedure ListAvailableSQLServers(Names : TStrings);
    var
    RSCon: ADORecordsetConstruction;
    Rowset: IRowset;
    SourcesRowset: ISourcesRowset;
    SourcesRecordset: _Recordset;
    SourcesName, SourcesType: TField;
    function PtCreateADOObject
    (const ClassID: TGUID): IUnknown;
    var
    Status: HResult;
    FPUControlWord: Word;
    begin
    asm
    FNSTCW FPUControlWord
    end;
    Status := CoCreateInstance(
    CLASS_Recordset,
    nil,
    CLSCTX_INPROC_SERVER or
    CLSCTX_LOCAL_SERVER,
    IUnknown,
    Result);
    asm
    FNCLEX
    FLDCW FPUControlWord
    end;
    OleCheck(Status);
    end;
    begin
    SourcesRecordset :=
    PtCreateADOObject(CLASS_Recordset)
    as _Recordset;
    RSCon :=
    SourcesRecordset
    as ADORecordsetConstruction;
    SourcesRowset :=
    CreateComObject(ProgIDToClassID('SQLOLEDB Enumerator'))
    as ISourcesRowset;
    OleCheck(SourcesRowset.GetSourcesRowset(
    nil,
    IRowset, 0,
    nil,
    IUnknown(Rowset)));
    RSCon.Rowset := RowSet;
    with TADODataSet.Create(nil) do
    try
    Recordset := SourcesRecordset;
    SourcesName := FieldByName('SOURCES_NAME');
    SourcesType := FieldByName('SOURCES_TYPE');
    Names.BeginUpdate;
    try
    while not EOF do
    begin
    if
    (SourcesType.AsInteger = DBSOURCETYPE_DATASOURCE)
    and (SourcesName.AsString <> '') then
    Names.Add(SourcesName.AsString);
    Next;
    end;
    finally
    Names.EndUpdate;
    end;
    finally
    Free;
    end;
    end;

    وقتی نوشتمش ، میگذارمش همین جا .

  17. #17
    این همون سورس دومی است که گذاشتم
    در هر حال شما احتمالا TCP/IP ندارید
    و میبایست یک Microsoft Network Loopback در قسمت Add New Hardware اضافه کنید.

  18. #18
    خب . چیزی که گفتید را تعریف کردم . الان این شکلیه . ولی باز هم کد دومی کار نمیکنه .
    عکس های ضمیمه عکس های ضمیمه
    آخرین ویرایش به وسیله Malena : سه شنبه 26 اردیبهشت 1385 در 09:04 صبح

  19. #19
    در قسمت TCP/IP یک IP وارد کنید :
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg 0.JPG‏ (28.4 کیلوبایت, 24 دیدار)
    • نوع فایل: jpg 1.JPG‏ (39.6 کیلوبایت, 24 دیدار)
    • نوع فایل: jpg 2.JPG‏ (34.1 کیلوبایت, 24 دیدار)

  20. #20
    اون IP ها را هم تنظیم کرده بودم ولی باز هم


  21. #21
    دیگه نمیدونم چی بگم !

  22. #22
    سلام

    من 1 مشکلی مشابه موضوع مطرح شده دارم . یعنی 1 برنامه دارم که با دلفی نوشته شده با Sql Server 2000 و با ADO . حالا می خوام با استفاده از Installshield فایل اجرایی برنامه رو بسازم و بعد این برنامه روی چندتا کامپیوتر که شبکه هستن نصب بشه و Database اون هم روی 1 کامپیوتر که حالت Server داره attach بشه و سایر کامپیوتر ها از این DB استفاده کنن . می خوام بدونم توی connection string مربوط به Ado باید اسم Server چی باشه ؟ اسم کامپیوتر خودم یا اون کامپیوتری که قراره Server باشه ؟و آیا توی دلفی لازم هست جایی پورتی تنظیم بشه ؟
    دوم اینکه توی Installshield باید چه گزینه هایی رو برا دسترسی به Database تنظیم کنم ، اصلا احتیاجی به تنظیم هست یا نه ؟

  23. #23
    می خوام بدونم توی connection string مربوط به Ado باید اسم Server چی باشه ؟ اسم کامپیوتر خودم یا اون کامپیوتری که قراره Server باشه ؟و آیا توی دلفی لازم هست جایی پورتی تنظیم بشه ؟
    نام سرور. خیر در دلفی لازم نیست تنظیمات پورت مربوط به سرور را تنظیم کنید.
    دوم اینکه توی Installshield باید چه گزینه هایی رو برا دسترسی به Database تنظیم کنم ، اصلا احتیاجی به تنظیم هست یا نه ؟
    لزومی نداره بخواید چیزی رو در InstallShield تنظیم کنید.

  24. #24
    با سلام

    با تشکر از راهنماییهاتون . من توی برنامه ام زمان Login کلمه عبور و رمز عبوری رو که می گیریم ، با همون هم ConnectionString رو تشکیل می دم .به این صورت :
    DM.ADOConnection1.ConnectionString :='Provider=SQLOLEDB.1;Password='+''''+trim(Edit2. Text)+''''+';Persist Security Info=True;User ID='+''''+trim(Edit1.Text)+''''+';Initial Catalog=ahkam;Data Source=asadzadeh';

    در منوی خروج گزینه ای هست که از طریق اون دوباره صفحه Login باز می شه تا بشه تغییر کاربر داد. وقتی برای بار دوم کاربر دوم می خواد Login کنه ، این error نشون داده می شه :
    Operation can not be allowed when the object is open

    لبته من قبل از اتصال بار دوم این کدها ر و اضافه کردم :
    DM.ADOConnection1.Close ;
    DM.ADOConnection1.ConnectionString :='';

    لطفا بگید مشکل از کجاست ؟

تاپیک های مشابه

  1. connection string در شبکه
    نوشته شده توسط rezvan_DP در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 4
    آخرین پست: چهارشنبه 28 شهریور 1386, 16:21 عصر
  2. اشکال در connection string
    نوشته شده توسط saeid taheri در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: جمعه 10 شهریور 1385, 11:14 صبح
  3. مشکل connection string
    نوشته شده توسط maryam_f در بخش C#‎‎
    پاسخ: 2
    آخرین پست: پنج شنبه 25 خرداد 1385, 08:53 صبح
  4. connection string
    نوشته شده توسط linux در بخش VB.NET
    پاسخ: 19
    آخرین پست: پنج شنبه 07 اردیبهشت 1385, 19:43 عصر
  5. connection string
    نوشته شده توسط sanaz_amiri در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: جمعه 25 اردیبهشت 1383, 14:48 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •