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

نام تاپیک: سوال در مورد Extended Stored Procedure

  1. #1
    کاربر جدید
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    1

    سوال در مورد Extended Stored Procedure

    چطور میتوان ازDLL نوشته شده توسط ویژوال بیسیک بعنوان
    Extended Stored Procedure استفاده کرد؟ [/quote]

  2. #2
    کاربر دائمی آواتار vadood
    تاریخ عضویت
    فروردین 1382
    محل زندگی
    تهران
    پست
    858
    تا جایی که من می دونم نمیشه اگه راهی یافتی به من هم یاد بده چون وی بی فقط اکتیوایکس دی ال ال درست می کنه.

    در ضمن چه جوری میشه این تو انگلیسی تایپ کرد؟

  3. #3
    یکی از امکانات جالب SQL Server امکان استفاده کردن از COM Object ها در دستورات SQL هست که میتونه استفاده های خیلی زیادی داشته باشه. این کار به دو صورت امکان پذیر هست, یک اضافه کردن dll به صورت یک extended stored procedue و دوم ایجاد یک instance از کلاس مورد نظر که روش ساده تری هست. در روش اول شما میتونید یک method از object رو به صورت یک stored procedure صدا بزنید که توضیحات کاملش در SQL Server Book Online هست یا از این لینک
    http://<br /> <a href="http://archi....asp</a><br />
    در روش دوم باید یک instance از object درست کرد و به متدهای اون دسترسی پیدا کرد. برای درست کردن instance باید از sp_OACreate stored procedure استفاده کرد و برای صدا زدن متدها یا برای دسترسی به property ها از stored procedure های زیر

    sp_OAGetProperty
    sp_OASetProperty
    sp_OAMethod

    برای مثال


    DECLARE @Object int
    DECLARE @Hresult int
    DECLARE @Username varchar&#40;255&#41;
    DECLARE @ErrorSource varchar &#40;255&#41;
    DECLARE @ErrorDesc varchar &#40;255&#41;

    --Create the object
    EXEC @Hresult = sp_OACreate 'Word.Application', @Object OUT
    --Call the object's property and return the value
    EXEC @Hresult = sp_OAGetProperty @Object, 'UserName', @Username OUT
    --Destroy the object
    EXEC @Hresult = sp_OADestroy @Object

    IF @Hresult &lt;> 0
    BEGIN
    EXEC sp_OAGetErrorInfo @Object, @ErrorSource OUT, @ErrorDesc OUT
    PRINT "Error Occurred Calling Object&#58; " + @ErrorSource + " " + @ErrorDesc
    RETURN
    END

    PRINT @Username

  4. #4
    این سوال برای من هم مطرح بود . از اطلاعات شما متشکرم . اما من یک مشکل دیگر هم داشتم . یک dll که با دلفی نوشته بودم یک تابع با یک خروجی داشت که در یک app خروجی آن قابل دریافت بود اما در یک
    extended procedure خروجی آن Null یود .

  5. #5
    دوست عزیزم، جنس مقدار برگشتی چی بوده؟ و ضمنا به چه صورت اون رو در SQL Server ثبت و استفاده کردین

  6. #6
    از اینکه وقت گذاشتید تشکر می کنم
    _________________________________________
    library testdll;

    uses
    SysUtils,
    Classes;

    &#123;$R *.res&#125;

    function xp_a&#58;string;
    begin
    &#123;for test&#125;
    result&#58;='10';
    end;

    exports xp_a;

    end.
    _________________________________________
    SET QUOTED_IDENTIFIER OFF
    GO
    SET ANSI_NULLS OFF
    GO

    exec sp_addextendedproc N'xp_a', N'testdll.dll'
    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    SET ANSI_NULLS ON
    GO
    _________________________________________
    declare @a varchar&#40;10&#41;
    exec master..xp_a @a output
    select @a as output_________________________________________

  7. #7
    دوست عزیزم آیا غیر از مقدار Null، هیچ خطای دیگری به شما نمایش نمیده؟

  8. #8
    خیر ، البته تابع dll را با برگشتی integer نیز امتحان کردم ، فرقی نداشت . راستش گمان می کنم اگر یک dll همراه با سورس دلفی آن که در MSSQL هم کار کند می داشتم مشکل حل می شد . اما همه مثالهای MSSQL یا در VB است یا در C . مثلا یک مشکل دیگر من ایجادDTS با دلفی بود ولی فقط VB را اکسپورت می کند.

  9. #9
    لطفا خود فایل dll کامپایل شده رو اینجا پست کنین

  10. #10
    دوست عزیز یک dll با خروجی (integer) عدد 10 را ملاحظه می کنید . App همراه آن خروجی dll را دریافت می کند . نام تابع مربوطه xp_a است.

  11. #11

  12. #12
    از اینکه وقت گذاشتید تشکر می کنم :D

  13. #13
    موفق باشید :)

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

  1. سوال در مورد Extend
    نوشته شده توسط sarasara در بخش تحلیل و طراحی نرم افزار
    پاسخ: 2
    آخرین پست: دوشنبه 12 دی 1390, 13:34 عصر
  2. پاسخ: 1
    آخرین پست: جمعه 19 آذر 1389, 11:24 صبح
  3. سوال: سوال در بهینه سازی store procedure
    نوشته شده توسط Delphi Coder در بخش SQL Server
    پاسخ: 2
    آخرین پست: چهارشنبه 23 اردیبهشت 1388, 16:24 عصر
  4. یه سوال در مورد وارد کردن اطلاعات فارسی و stored procedure
    نوشته شده توسط white fox در بخش SQL Server
    پاسخ: 6
    آخرین پست: شنبه 30 اردیبهشت 1385, 01:01 صبح
  5. extended stored procedures و ارسال پیام در شبکه
    نوشته شده توسط Mahdavi در بخش SQL Server
    پاسخ: 6
    آخرین پست: سه شنبه 09 تیر 1383, 21:56 عصر

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

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