ورود

View Full Version : اجرای user difine function از یه دیتابیس دیگه



rmb_ali
چهارشنبه 01 خرداد 1387, 16:00 عصر
آیا میشه از توی یه دیتابیس دیگه یه فانکشن رو اجرا کرد متن زیر رو ببینید:

select OPENDATASOURCE('SQLOLEDB','Data Source=ims-old;User ID=tadbir;Password=tadbir').tadbir.dbo.S_GetMojodi ('12','1001','87/01/01') as inv from
من میتونم از یه دیتابیس دیگه و حتی یه سرور دیگه این فانکشن رو اجرا کنم با دستور بالا ارور میده

ASKaffash
چهارشنبه 01 خرداد 1387, 16:29 عصر
با سلام
از بانک دیگر در همین سرور میشود :

Select * From DBName.Owner.Table
ولی از یک سرور دیگر سه راه حل دلرید
1- OpenRowSet
2- OpenDataSource
3- OpenQuery
اما دستور درست شما اینطور خواهد بود :

Select OPENDATASOURCE('SQLOLEDB','Data Source=ims-old;User ID=tadbir;Password=tadbir').tadbir.dbo.S_GetMojodi ('12','1001','87/01/01')
اگر Provider شما درست باشد

rmb_ali
شنبه 04 خرداد 1387, 08:43 صبح
ببخشید این دستوری که شما فرمودید که عینا همونیه که من نوشتم که؟
در ضمن وقتی همین دستور رو هم اجرا میکنم ارور میگیره که :
Server: Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'OPENDATASOURCE'.

rmb_ali
شنبه 04 خرداد 1387, 08:58 صبح
ولی با دستور
SELECT a.*
FROM OPENROWSET('SQLOLEDB','mis-old';'Tadbir';'tadbirejaameh',
'SELECT Tadbir.dbo.S_GetMojodi (''12'',''1001'',''87/01/01'')') AS a
شد
از کمکت ممنون

حالا اگر بخوام به اون فانکشنه پارامتر ارسال منم چیکار باید بکنم هرکاری میکنم نمیتونه پارامترها رو پاس کنه

rmb_ali
شنبه 04 خرداد 1387, 10:24 صبح
اگر کسی مینونه کمک کنه حیاتیه