21-10-12, 04:51 PM
سنتكلم عن شئ هام جداً بالنسبة لجلب البيانات
في حالة أنك تستخدم HDR=NO
لو كان عندك عمود به بيانات هكذا
ستجد أن بياناته تظهر هكذا
أن أن القيم النصية تم تحويلها لقيمة Null
كيف حدثت هذه المصيبة
ذلك أن المحرك OLEDB يقوم بقراءة أول قيم للعمود فأن وجد أنها رقمية تعامل مع العمود على أنه رقمي وهكذا مع النصي وبالتالي يقوم بعمل تحويل للقيم
لذلك جاءت IMEX=1 لتحل جريمة المحرك OLEDB الكبري
في حالة أنك تستخدم HDR=NO
لو كان عندك عمود به بيانات هكذا
كود :
[COLOR=#000000][COLOR=#0000bb]10
20
30
50
AA
HH
JK
56
78
[/COLOR][/COLOR]ستجد أن بياناته تظهر هكذا
كود :
[COLOR=#000000][COLOR=#0000bb]10
20
30
50
Null
Null
Null
56
78
[/COLOR][/COLOR]أن أن القيم النصية تم تحويلها لقيمة Null
كيف حدثت هذه المصيبة
ذلك أن المحرك OLEDB يقوم بقراءة أول قيم للعمود فأن وجد أنها رقمية تعامل مع العمود على أنه رقمي وهكذا مع النصي وبالتالي يقوم بعمل تحويل للقيم
لذلك جاءت IMEX=1 لتحل جريمة المحرك OLEDB الكبري
كود :
[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;HDR=NO;IMEX=1'[/color][COLOR=#007700],
[/COLOR][color=#dd0000]'SELECT * FROM [Sheet1$]'[/color][COLOR=#007700])
[/COLOR][/COLOR]