כיצד לייבא נתונים מ- Microsoft SQL Server ל- Microsoft Excel

תרגומי מאמרים תרגומי מאמרים
Article ID: 306125 - View products that this article applies to.
הרחב הכל | כווץ הכל

On This Page

תקציר

מדריך שלב אחר שלב זה מתאר כיצד לייבא נתונים לתוך Microsoft Excel ממסד הנתונים Pubs, מסד נתונים לדוגמה הכלול ב- Microsoft SQL Server.

ActiveX Data Objects ?(ADO) מספק גישה למקור נתונים מכל סוג. זהו מודל אובייקט שטוח עם מעט אובייקטים. האובייקטים הראשיים במודל אובייקט ADO הם:
   אובייקט          תיאור
   -----------------------------------------------------------------------
   Connection      מתייחס לחיבור למקור הנתונים.
   Recordset       מתייחס לנתונים המחולצים.
   Command         מתייחס לפרוצדורה מאוחסנת או למשפטי SQL  
                   שאותם יש לבצע.
				
על אף שקיימות דרכים רבות להחזרת Recordset באמצעות ADO, מאמר זה מתרכז באובייקטים Connection ו- Recordset.

דרישות

דרוש שרת מקומי שבו פועל Microsoft SQL Server, אשר מכיל את מסד הנתונים Pubs.

Microsoft ממליצה להיות בעל ידע בתחומים הבאים:
  • יצירת פרוצדורות של Visual Basic for Applications בתוכניות Office.
  • עבודה עם משתני אובייקטים.
  • עבודה עם אובייקטים של Excel.
  • המושגים של Relational Database Management Systems ?(RDBMS).
  • משפטי SELECT של Structured Query Language ?(SQL)

הפניה לספריית האובייקטים של ADO

  1. הפעל את Excel. פתח חוברת עבודה חדשה ולאחר מכן שמור אותה בשם SQLExtract.xls.
  2. הפעל את Visual Basic Editor ובחר בפרויקט VBA שעליו אתה עובד.
  3. בתפריט כלים , לחץ על הפניות.
  4. לחץ כדי לבחור בגירסה העדכנית ביותר של תיבת הסימון Microsoft ActiveX Data Objects Library .

יצירת החיבור

  1. הוסף מודול חדש לפרויקט.
  2. צור פרוצדורת משנה חדשה בשם DataExtract.
  3. הקלד או הדבק את הקוד שלהלן:
    ??
    ' Create a connection object.
    Dim cnPubs As ADODB.Connection
    Set cnPubs = New ADODB.Connection
    
    ' Provide the connection string.
    Dim strConn As String
    
    'Use the SQL Server OLE DB Provider.
    strConn = "PROVIDER=SQLOLEDB;"
    
    'Connect to the Pubs database on the local server.
    strConn = strConn & "DATA SOURCE=(local);INITIAL CATALOG=pubs;"
    
    'Use an integrated login.
    strConn = strConn & " INTEGRATED SECURITY=sspi;"
    
    'Now open the connection.
    cnPubs.Open strConn
    					

חילוץ הנתונים

הקלד או הדבק את הקוד שלהלן כדי לחלץ את הרשומות שלך:
??
' Create a recordset object.
Dim rsPubs As ADODB.Recordset
Set rsPubs = New ADODB.Recordset

With rsPubs
	' Assign the Connection object.
	.ActiveConnection = cnPubs
	' Extract the required records.
	.Open "SELECT * FROM Authors"
	' Copy the records into cell A1 on Sheet1.
	Sheet1.Range("A1").CopyFromRecordset rsPubs
	
	' Tidy up
	.Close
End With

cnPubs.Close
Set rsPubs = Nothing
Set cnPubs = Nothing
				

בדיקה שהקוד פועל

  1. הפעל את הקוד.
  2. עבור ל- Excel ועיין בגיליון 1 בחוברת העבודה כדי להציג את הנתונים.

פתרון בעיות

אם נראה שהקוד נתקע ומופיעה שגיאת זמן ריצה, ייתכן ששרת מסד הנתונים מושבת. באפשרותך להשתמש במאפיין ConnectionTimeout כדי לקבוע את הזמן הדרוש להחזרת שגיאת זמן ריצה. הגדר מאפיין זה לערך גדול מאפס. אם תגדיר את הערך לאפס, החיבור לא יסתיים לעולם. ערך ברירת המחדל הוא 15 שניות.

מידע נוסף

באפשרותך לאתר קוד דוגמה נוסף על-ידי חיפוש באתר האינטרנט הבא של Microsoft:
http://www.msdn.microsoft.com/

מאפיינים

Article ID: 306125 - Last Review: יום שלישי 29 אפריל 2008 - Revision: 4.1
המידע במאמר זה חל על:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
מילות מפתח 
kbhowtomaster KB306125

ספק משוב

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com