تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
معلومة --- Openrowset --- هامة للغاية
#1
كاتب الموضوع : BADRMEDIA


هل احتجت مرة أن تأتى ببيانات من مصدر بيانان لتسجلها فى مصدر أخي

كفكرة بسيطة : عندك بيانات تحصلها عليها من ملف أكسيل موجود فى سيرفر يتيح عن طريق الملف الحصول مثلاً على أسعار أسهم أو أسعار العملات طبعاً لتحركات مؤشر البورصة

كيف نجعل السيرفر يتصل على مصدر البيانات هذا وهو ملف الأكسيل ويحصل منه على القيم


أنها الدالة OPENROWSET

وتكون صيغتها كالتالي

function syntax


كود :
[color=#000000][COLOR=#0000bb]OPENROWSET [/color][color=#007700]( [/color][color=#dd0000]'provider_name'[/color][COLOR=#007700],  
              { [/COLOR][color=#dd0000]'datasource'[/color][color=#007700]; [/color][color=#dd0000]'user_id'[/color][color=#007700]; [/color][color=#dd0000]'password' [/color][color=#007700]| [/color][color=#dd0000]'provider_string' [/color][COLOR=#007700]},
              { [ [/COLOR][color=#0000bb]catalog[/color][color=#007700].][[/color][color=#0000bb]schema[/color][color=#007700].][/color][color=#0000bb]object [/color][color=#007700]| [/color][color=#dd0000]'query' [/color][COLOR=#007700]}
           )  
[/COLOR][color=#0000bb][/color][/COLOR]


ولنبسطها هكذا ونشرحها :




كود :
[color=#000000][COLOR=#0000bb]OPENROWSET [/color][color=#007700]( [/color][color=#dd0000]'provider_name'[/color][color=#007700], [/color][color=#dd0000]'provider_string'[/color][color=#007700], [/color][color=#dd0000]'query' [/color][COLOR=#007700])  
[/COLOR][color=#0000bb][/color][/COLOR]


سيكون تطبيقنا على ملف Excel وبالطبع سيكون provider الخاص بذلك هو OLEDB

كمثال أنسخ أى ملف Excel على القرص C مباشرة بحيث سيكون مسار العمل عليه وأن يكون به بعض البيانات لنستعرضها




كود :
[color=#000000][COLOR=#0000bb]SELECT [/color][COLOR=#007700]*  
[/COLOR][color=#0000bb]FROM OPENROWSET[/color][color=#007700]([/color][color=#dd0000]'Microsoft.Jet.OLEDB.4.0'[/color][COLOR=#007700],
                [/COLOR][color=#dd0000]'Excel 8.0;Database=C:\1.xls'[/color][COLOR=#007700],
                [/COLOR][color=#dd0000]'SELECT * FROM [Sheet1$]'[/color][COLOR=#007700])  
[/COLOR][color=#0000bb][/color][/COLOR]



حيث كتبنا

'provider_name' = 'Microsoft.Jet.OLEDB.4.0'

'provider_string' = 'Excel 8.0;Database=C:\1.xls'


'query' = 'SELECT * FROM [Sheet1$]'


حيث Sheet1$ هو اسم الصفحة الأولي من صفحة الأكسيل ويمكن أن يكون اسمها " الصفحة "

لو كان الأوفيس عربي أو يكون لها اسم خاص لو وضعت لها اسم ، إذن تنادي عليها باسمها مع وضع علامة $

ويمكن أن تنادي علي نطاق معين مثلاً من A:Z بدلاً من اسم الصفحة





}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
معلومة --- Openrowset --- هامة للغاية - بواسطة Raggi Tech - 21-10-12, 04:50 PM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم