В момента сте офлайн в очакване на повторно свързване с интернет

Как да импортирате събиране на данни Препоръчано от Excel към SQL сървър

ВАЖНО: Тази статия е преведена с използване на софтуер за машинен превод на Microsoft и може да бъде коригирана чрез технологията Рамка за превод от общността (CTF). Microsoft предлага статии, преведени машинно, допълнително редактирани от общността, и статии, преведени от хора, за да може да предостави достъп на много езици до всички статии в нашата База знания. Статиите, преведени машинно и редактирани допълнително, може да съдържат грешки в лексиката, синтаксиса и/или граматиката. Microsoft не носи отговорност за каквито и да било неточности, грешки или вреди, предизвикани от неправилен превод на съдържанието или използването му от нашите клиенти. Повече за CTF – на http://support.microsoft.com/gp/machine-translation-corrections/bg.

Щракнете тук, за да видите версия на тази статия на английски: 321686
Кратко изложение
Тази статия показва как да импортирате събиране на данни Препоръчано от работни листове на Microsoft Excel в бази събиране на данни на Microsoft SQL сървър с помощта на различни методи.

back to the top

Описание на техниката

Пробите в тази статия импортиране на Excel събиране на данни с помощта на:
  • SQL Server събиране на данни преобразуване услуги (DTS)
  • Microsoft SQL Server 2005 интеграция услуги (SSIS)
  • Сървъри SQL сървър, свързани
  • SQL сървър разпределени заявки
  • Обекти на ActiveX събиране на данни (ADO) и Microsoft OLE базаданни доставчика за SQL Server
  • ШУМ и Microsoft OLE базаданни доставчика за Jet 4.0
back to the top

Изисквания

Следващият външен списък резюмира Препоръчителен хардуер, софтуер, мрежова инфраструктура и сервизни пакети, които се изискват:
  • Налични екземпляр на Microsoft SQL Server 7.0 или Microsoft SQL Server 2000 или Microsoft SQL Server 2005
  • Microsoft Visual Basic 6.0 за ADO проби, които използват Visual Basic
Части Препоръчано от тази статия се предполага, че сте запознати със следните теми:
  • Услуги за трансформация на събиране на данни
  • Свързани сървъри и разпределени заявки
  • ADO развитие на Visual Basic
back to the top

Проби

Внос срещу Добавяне

Примерни SQL команди, които се използват в тази статия демонстрира заявки за създаване на таблица, които импортирате Excel събиране на данни в нова таблица на SQL Server с помощта на избор...В...Препоръчано от синтаксис. Можете да конвертирате тези отчети да се добави заявки чрез вмъкване в...ИЗБЕРЕТЕ...Препоръчано от синтаксис докато продължават да позоваване на източника и дестинацията обекти, както е показано в тези код проби.

back to the top

Употреба, DTS или SSIS

Можете да използвате съветника за импортиране на SQL сървър събиране на данни преобразуване услуги (DTS) или импортиране на SQL сървъра и съветника за експортиране да импортирате Excel събиране на данни в таблици за SQL Server. Когато се засили чрез съветника и изберете източника таблици на Excel, не забравяйте, че преобразуване на имена на обекти на Excel, които са приложени със знака за долар ($) представляват работни листове (например Sheet1$), и че преобразуване на имена на обикновен обекти без знак за долар представляват Excel наименувани диапазони.

back to the top

Използвайте свързан сървър

За да се опрости заявки, можете да конфигурирате работна книга на Excel като свързан сървър в SQL Server.За допълнителна информация щракнете върху номера на статия по-долу, за да видите съответната статия в база знания на Microsoft:
306397 HOWTO: Използвайте Excel със SQL Server свързани сървъри и разпределят заявки
Следният код импортира събиране на данни Препоръчано от клиенти работен лист на Excel свързан сървър "EXCELLINK" в нова таблица на SQL Server име за влизане XLImport1:
SELECT * INTO XLImport1 FROM EXCELLINK...[Customers$]				
Можете също така да изпълни заявката източник в еднократно прокарване начин с помощта на OPENQUERY както следва:
SELECT * INTO XLImport2 FROM OPENQUERY(EXCELLINK,    'SELECT * FROM [Customers$]')				
back to the top

Използвайте разпределени заявки

Ако не искате да конфигурирате на постоянна връзка към работната книга на Excel като свързан сървър, можете да импортирате събиране на данни за конкретна цел, като използва OPENDATASOURCE или функцията OPENROWSET. Следният код проби и импортирате събиране на данни Препоръчано от работния лист на Excel клиенти в нови таблици за SQL Server:
SELECT * INTO XLImport3 FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source=C:\test\xltest.xls;Extended Properties=Excel 8.0')...[Customers$]SELECT * INTO XLImport4 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\test\xltest.xls', [Customers$])SELECT * INTO XLImport5 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\test\xltest.xls', 'SELECT * FROM [Customers$]')				
back to the top

Използвайте шум и SQLOLEDB

Когато сте свързани към SQL Server в ADO приложение с помощта на Microsoft OLE базаданни за SQL сървър (SQLOLEDB), можете да използвате същия синтаксис "разпределена заявка" Препоръчано от Използване на разпределени заявки раздел, за да импортирате Excel събиране на данни в SQL Server.

Следните Visual Basic 6.0 код проба изисква да добавяте консолидиран проект препратка към ActiveX Data Objects (ADO). Този код проба също така показва как да използвате OPENDATASOURCE и OPENROWSET във връзка с SQLOLEDB.
    Dim cn As ADODB.Connection    Dim strSQL As String    Dim lngRecsAff As Long    Set cn = New ADODB.Connection    cn.Open "Provider=SQLOLEDB;Data Source=<server>;" & _        "Initial Catalog=<database>;User ID=<user>;Password=<password>"    'Import by using OPENDATASOURCE.    strSQL = "SELECT * INTO XLImport6 FROM " & _        "OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', " & _        "'Data Source=C:\test\xltest.xls;" & _        "Extended Properties=Excel 8.0')...[Customers$]"    Debug.Print strSQL    cn.Execute strSQL, lngRecsAff, adExecuteNoRecords    Debug.Print "Records affected: " & lngRecsAff    'Import by using OPENROWSET and object name.    strSQL = "SELECT * INTO XLImport7 FROM " & _        "OPENROWSET('Microsoft.Jet.OLEDB.4.0', " & _        "'Excel 8.0;Database=C:\test\xltest.xls', " & _        "[Customers$])"    Debug.Print strSQL    cn.Execute strSQL, lngRecsAff, adExecuteNoRecords    Debug.Print "Records affected: " & lngRecsAff    'Import by using OPENROWSET and SELECT query.    strSQL = "SELECT * INTO XLImport8 FROM " & _        "OPENROWSET('Microsoft.Jet.OLEDB.4.0', " & _        "'Excel 8.0;Database=C:\test\xltest.xls', " & _        "'SELECT * FROM [Customers$]')"    Debug.Print strSQL    cn.Execute strSQL, lngRecsAff, adExecuteNoRecords    Debug.Print "Records affected: " & lngRecsAff    cn.Close    Set cn = Nothing				
back to the top

Използвайте шум и доставчика на Jet

Пробата в предишния раздел използва шум с доставчика на SQLOLEDB да се свърже с местоназначението на вашия Excel към SQL внос. Можете също да използвате OLE базаданни доставчик за Jet 4.0, за да се свържете с източника на Excel.

Реактивен двигател транзитна база събиране на данни събиране на данни може да препращат външни бази събиране на данни в SQL отчети с помощта на специален синтаксис, който има три различни формати:
  • [Пълният път до Microsoft Access транзитна база събиране на данни събиране на данни].[име за влизане на таблица]
  • [ИПМ име за влизане;ИПМ низ за връзка].[име за влизане на таблица]
  • [ODBC;ODBC връзка низ].[име за влизане на таблица]
Този раздел използва формата на третия да направи на ODBC връзка към транзитна база събиране на данни събиране на данни на SQL сървъра местоназначение. Можете да използвате ODBC събиране на данни източник името (DSN) или DSN-малко връзка низ:
DSN:    [odbc;DSN=<DSN name>;UID=<user>;PWD=<password>]DSN-less:   [odbc;Driver={SQL Server};Server=<server>;Database=<database>;       UID=<user>;PWD=<password>]				
Следните Visual Basic 6.0 код проба изисква да добавяте консолидиран проект препратка към ADO. Този код проба показва как да импортирате Excel събиране на данни в SQL Server над ADO връзка с помощта на доставчика на Jet 4.0.
    Dim cn As ADODB.Connection    Dim strSQL As String    Dim lngRecsAff As Long    Set cn = New ADODB.Connection    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _        "Data Source=C:\test\xltestt.xls;" & _        "Extended Properties=Excel 8.0"        'Import by using Jet Provider.    strSQL = "SELECT * INTO [odbc;Driver={SQL Server};" & _        "Server=<server>;Database=<database>;" & _        "UID=<user>;PWD=<password>].XLImport9 " & _        "FROM [Customers$]"    Debug.Print strSQL    cn.Execute strSQL, lngRecsAff, adExecuteNoRecords    Debug.Print "Records affected: " & lngRecsAff            cn.Close    Set cn = Nothing				
Можете също да използвате този синтаксис, който доставчикът на Jet поддържа, да импортирате данните на Excel в други бази събиране на данни на Microsoft Access, индексирани последователен достъп метод (ISAM) ("работен плот") бази събиране на данни или ODBC бази събиране на данни.

back to the top

Отстраняване на неизправности

  • Не забравяйте, че преобразуване на имена на обекти на Excel, които са приложени със знака за долар ($) представляват работни листове (например Sheet1$), а че преобразуване на имена на обикновен обекти Excel наименувани диапазони.
  • В някои случаи особено когато вие определяте събиране на данни източник на Excel с помощта на името на таблицата вместо селектиране, колоните в таблицата на SQL сървъра местоназначение се пренареждат в азбучен ред.За допълнителна информация относно този проблем с доставчика на Jet щракнете върху номера на статия по-долу, за да видите съответната статия в база знания на Microsoft:
    299484 НРБ: Колони са подредени по азбучен ред, когато използвате ADOX за извличане на колони Препоръчано от таблица на Access
  • Когато доставчикът на Jet определя, че Excel колоната съдържа смесени текст и числови събиране на данни, доставчикът на Jet избира типа "мнозинство" събиране на данни и връща несъпоставими стойности като NULLs.За допълнителна информация как да отстраните този проблем щракнете върху номера на статия по-долу, за да видите съответната статия в база знания на Microsoft:
    194124 НРБ: Excel стойности, върнати като NULL, използвайки Николова OpenRecordset
back to the top
Библиография
За допълнителна информация как да използвате Excel като източник на събиране на данни щракнете върху номера на статия по-долу, за да видите съответната статия в база знания на Microsoft:
257819 HOWTO: Използвайте шум с събиране на данни на Excel Препоръчано от Visual Basic или VBA
За допълнителна информация относно начините за прехвърляне на събиране на данни в Excel щракнете върху номерата по-долу, за да отворите статиите в база знания на Microsoft:
295646 HOWTO: Трансфер на събиране на данни Препоръчано от източника на събиране на данни на ADO в Excel с шум
247412 ИНФОРМАЦИЯ за: Методи за прехвърляне на събиране на данни в Excel Препоръчано от Visual Basic
246335 HOWTO: Трансфер на събиране на данни Препоръчано от ADO набор записи в Excel с автоматизация
319951 Как да: Трансфер на събиране на данни в Excel с помощта на услуги за трансформация на събиране на данни на SQL сървър
306125 Как да: Импортиране на събиране на данни Препоръчано от SQL Server в Microsoft Excel
back to the top
Excel sql ado dts sqloledb jet

Предупреждение: Тази статия е преведена автоматично

Свойства

ИД на статията: 321686 – Последен преглед: 05/22/2014 03:51:00 – Редакция: 3.0

Microsoft Excel 2000 Standard Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 64-bit Edition, Microsoft SQL Server 7.0 Standard Edition, Microsoft Excel 2002 Standard Edition, Microsoft Excel 97 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbhowtomaster kbjet kbmt KB321686 KbMtbg
Обратна връзка
cker.init(); >html>