Importarea datelor din Excel pe serverul SQL, nc s blog

Microsoft Office Exel a devenit un program cheie pentru o lungă perioadă de timp deja când se mișcă diverse baze de date, aproape orice bază de date foarte veche lucrează cu Exel și nu are probleme de traducere în ea. Acest ghid pas cu pas descrie diferite moduri de a importa date din coli Microsoft Excel în baze de date Microsoft SQL Server.

Cerințe înainte de pornire

Lista de mai jos prezintă hardware-ul recomandat, software-ul, infrastructura de rețea și pachetele de service necesare:

Într-o serie de secțiuni ale acestui articol, se presupune că utilizatorul are cunoștințe suficiente în următoarele domenii:

  • Servicii de conversie de date
  • Serverele conectate și cererile distribuite
  • Dezvoltarea obiectelor ADO în Visual Basic

În exemplele din acest articol, importați date Excel folosind următoarele funcții:

Importați sau adăugați

Exemplele comenzilor SQL utilizate în articol afișează interogări Creare tabelă pentru importarea datelor Excel într-o nouă tabelă SQL Server utilizând SELECT ... INTO ... FROM constructe. Când salvați referințele la obiectele sursă și destinatarii expresiei enumerați în exemple, ele pot fi convertite în interogări de anexă utilizând INSERT INTO ... SELECT ... FROM constructe.

Utilizarea DTS sau SSIS

Pentru a importa date Excel în tabele SQL Server, aveți posibilitatea să utilizați expertul SQL Server Data Import Services (DTS) sau Expertul de import și export SQL Server. Când lucrați cu expertul și selectați tabelele Excel originale, amintiți-vă că numele obiectelor Excel cu semnul dolar ($) sunt numele foilor (de exemplu, Sheet1 $), iar numele obiectelor fără semnul dolarului sunt nume ale intervalelor numite pentru Excel.

Utilizarea unui server legat

Următorul program importează date din foaia de lucru a clienților serverului Excel EXCELLINK conectat la o nouă tabelă SQL Server numită XLImport1:

Atunci când se utilizează OPENQUERY, cererea end-to-end poate fi transmisă sursei:

'SELECT * FROM [Clienți $]')

Utilizarea interogărilor distribuite

Dacă nu doriți să instalați o conexiune existentă la un registru de lucru Excel ca server conectat, datele pot fi importate utilizând funcțiile OPENDATASOURCE sau OPENROWSET. Următoarele exemple de cod importa, de asemenea, date din foaia de lucru Excel "Clienți" în tabele SQL Server noi:

Utilizarea ADO și SQLOLEDB

Sintaxa „Cereri distribuite“ Procedura în Interogările distribuite pot fi, de asemenea, utilizat în aplicarea ADO pentru a importa date Excel în SQL Server, dacă utilizați Microsoft OLE DB pentru SQL Server (SQLOLEDB) pentru conectarea la SQL Server.

Pentru următorul exemplu de program Visual Basic 6.0, trebuie să adăugați o referință de proiect la obiecte de date ActiveX (ADO). Acest exemplu arată modul de utilizare a funcțiilor OPENDATASOURCE și OPENROWSET pentru a conecta SQLOLEDB.

Utilizarea ADO și furnizorului de date jet

În exemplul din secțiunea anterioară, atunci când ați importat din Excel în SQL, ADO și furnizorul SQLOLEDB au fost utilizate pentru a comunica cu destinatarul. Pentru a vă conecta la o sursă Excel, puteți utiliza furnizorul de date OLE DB pentru Jet 4.0.

Folosind construcții speciale în expresii SQL care au trei formate diferite, baza de date Jet poate referi la baze de date externe:

  • [Calea completă către baza de date Microsoft Access] [Name table]
  • [Numele ISAM; Șir de conexiuni ISAM]. [Nume tabel]
  • [ODBC; Șirul de conexiuni ODBC]. [Numele tabelului]

În această secțiune, al treilea format este utilizat pentru a crea o conexiune ODBC la baza de date SQL Server. Puteți utiliza numele sursei de date ODBC (DSN) sau șirul de conexiune fără a defini DSN:

Pentru a executa următorul exemplu de program Visual Basic 6.0, trebuie să adăugați o referință la proiect în ADO. Exemplul arată cum se importă date din Excel în SQL Server printr-o conexiune ADO utilizând furnizorul de date Jet 4.0.

Pentru a importa date Excel în alte baze de date Microsoft Access, o bază de date de acces secvențial index (ISAM) sau o bază de date ODBC, pot fi utilizate și structurile acceptate de furnizorul de date Jet.

Remediați problemele

Linkuri utile:

Utilizarea Excel cu servere SQL conectate și interogări distribuite

Când utilizați ADOX pentru a prelua coloanele unei tabele de acces, coloanele sunt sortate în ordine alfabetică

Când utilizați DAO OpenRecordset, datele din Excel sunt setate la NULL

Articole similare