PDA

View Full Version : بدست آوردن یک مقدار فیلد با اجرای Exec



khorsandreza
یک شنبه 17 آبان 1394, 19:15 عصر
با سلام بر اساتید بزرگوار من در اجرای یک کوئری نسبتا ساده به مشکل برخورد کردم ابتدا شکل دستورات اسکیوال را مشاهد بفرمائید

DECLARE @tar nvarchar(4)
DECLARE @SqlStr nvarchar(max)
set @SQLStr = 'select top 1 @tar = tar
FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', '''+@Filepath+''+''';''admin'';'''', "in_460")'
Exec(@SQLStr)

من می خواهم با اجرای دستور بالا مقدار فیلد Tar را در داخل متغییر Tar@ قرار دهم و سپس از این مقدار در ادامه SP ازش استفاده کنم با توجه به این که نام فایل اکسس متغییر است احتمالا چندین فایل برای بررسی تست شود مجبور هستم از این روش استفاده کتن لازم به توضیح است این متقییر @Filepath به SPارسال میشود و نام و مسیر فایل اکسس را دارد.
مثل این دستور پائین
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'E:\KANOON\acc\in_300.mdb';'admin';'', "in_460")

En_MK
شنبه 23 آبان 1394, 08:10 صبح
سلام
به نظر اسکریپتی که نوشتید درست میاد اینجا (https://msdn.microsoft.com/en-us/library/ms190312.aspx) هم چندتا مثال هست


SELECT CustomerID, CompanyName
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb';
'admin';'',Customers);
GO

khorsandreza
شنبه 23 آبان 1394, 13:50 عصر
سلام
به نظر اسکریپتی که نوشتید درست میاد اینجا (https://msdn.microsoft.com/en-us/library/ms190312.aspx) هم چندتا مثال هست


SELECT CustomerID, CompanyName
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb';
'admin';'',Customers);
GO



سلام ممنونم که پاسخ دادید خود اسکریپت مشکل ندارد.
اگر دقت بفرمائید من قصدم این است با اجرای اسکریپت مقدار tar@ بدست بیاورم یعنی بعد از exec مقدار را واکشی کنم