"

آموزش کامل وارد کردن داده اکسل به SQL Server

زهیر صفری 1404/09/05 0 18
لینک کوتاه http://zoheirsoftware.com/z/2c10e7143 |
آموزش وارد کردن داده اکسل به SQL Server قدم‌به‌قدم,انتقال داده Excel به SQL Server با روش‌های حرفه‌ای,راهنمای کامل Import داده اکسل به SQL Server

مقدمه

انتقال داده از اکسل به SQL Server یکی از مهم‌ترین نیازهای برنامه‌نویسان، تحلیل‌گران داده، مدیران پایگاه داده و حتی تیم‌های کسب‌وکار است.

زمانی که حجم داده‌ها زیاد می‌کند یا نیاز به تحلیل دقیق، گزارش‌گیری حرفه‌ای و اتصال اطلاعات به سیستم‌های نرم‌افزاری داریم، بهترین کار این است که داده‌های Excel را وارد SQL Server کنیم.

وارد کردن داده اکسل به SQL Server چیست؟

وارد کردن داده اکسل به SQL Server به معنی ارسال یا انتقال اطلاعات ذخیره‌شده در فایل‌های Excel (با پسوند XLS یا XLSX) به جدول‌های یک پایگاه داده SQL است.

این کار می‌تواند از طریق ابزارهای گرافیکی، اسکریپت‌های T-SQL، سرویس‌های ETL مثل SSIS و حتی روش‌های اتوماتیک‌سازی انجام شود.

 پیش‌نیازهای انتقال داده اکسل به SQL Server

انتقال داده‌ها از Excel به SQL Server زمانی بدون خطا انجام می‌شود که ساختار فایل، تنظیمات سرور و سرویس‌های موردنیاز به‌درستی آماده شده باشند.

رعایت پیش‌نیازها باعث جلوگیری از خطاهای مرسوم مانند ناسازگاری فرمت، نامعتبر بودن ستون‌ها و یا اختلال در پردازش حجم‌های بالا می‌شود.

برای شروع فرآیند انتقال، ابتدا ضروری است که محیط SQL و فایل اکسل را مطابق استانداردهای خواندن داده آماده کنید تا اجرای کوئری‌ها و عملیات درج اطلاعات با کمترین خطا انجام شود.

  پیش‌نیازهای انتقال داده 

  1.  نصب SQL Server و SQL Server Management Studio
  2.  نصب Microsoft Access Database Engine (برای امکان خواندن فایل‌های Excel با پسوند XLSX)
  3.  فعال بودن گزینه‌ی Ad Hoc Distributed Queries در SQL Server
  4.  حذف Merge از سلول‌های اکسل جهت جلوگیری از جابه‌جایی داده‌ها
  5.  قرار دادن عنوان ستون‌ها در ردیف اول فایل
  6.  هماهنگ بودن نوع داده‌ها (Data Types) با ستون‌های جدول مقصد
  7.  خالی نبودن نام شیت و نداشتن کاراکترهای خاص
  8.  ترجیحاً تبدیل فایل‌های بزرگ یا پیچیده به CSV برای افزایش سرعت و جلوگیری از خطا در هنگام وارد کردن داده‌ها با BULK INSERT

روش‌های وارد کردن داده اکسل به SQL Server

قبل از شروع مراحل عملی، بهتر است روش‌های موجود را بشناسید. هر روش برای یک هدف خاص مناسب است.

 روش‌های معمول Import

  1.   SQL Server Import Wizard (ساده‌ترین روش)
  2.   T-SQL با OPENROWSET
  3.   BULK INSERT بعد از تبدیل به CSV
  4.   SSIS برای فرایندهای سنگین و اتوماتیک
  5.   پکیج‌سازی ETL برای انتقال روزانه داده‌ها

روش‌های وارد کردن داده اکسل به SQL Server

 آموزش کامل وارد کردن داده اکسل با SQL Server Import Wizard

این روش آسان‌ترین روش برای افراد مبتدی و حتی کاربران حرفه‌ای است. نیازی به کدنویسی ندارد و کاملاً گرافیکی است.

 مراحل  وارد کردن داده اکسل

1. اجرای SQL Server Management Studio (SSMS)
2. راست‌کلیک روی دیتابیس
3. انتخاب Tasks → Import Data
4. انتخاب منبع داده: Microsoft Excel
5. انتخاب فایل اکسل
6. تعیین نسخه اکسل (Excel 2007–2016)
7. انتخاب شیت (Sheet1$)
8. انتخاب جدول مقصد در SQL Server
9. فعال‌کردن گزینه Run Immediately
10. اجرای عملیات و بررسی نتیجه

آموزش Import با T-SQL (روش حرفه‌ای با OPENROWSET)

این روش برای برنامه‌نویسان و افرادی مناسب است که می‌خواهند عملیات Import خودکار شود یا نیاز دارند با اسکریپت‌ها کار کنند.

 فعال‌سازی OPENROWSET

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;

EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;

نمونه Import با OPENROWSET

SELECT *
INTO dbo.ExcelData
FROM OPENROWSET(
    'Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0;HDR=YES;Database=C:\Data\file.xlsx',
    'SELECT * FROM [Sheet1$]'
);


 آموزش وارد کردن داده از CSV به SQL Server

برای انتقال داده‌های بزرگ و پیچیده از فایل‌های اکسل، روش تبدیل به CSV و استفاده از BULK INSERT سریع‌ترین و بهینه‌ترین راهکار است.

این روش به شما امکان می‌دهد داده‌ها را بدون ابزار گرافیکی و با کمترین خطا به جدول‌های SQL Server منتقل کنید.

 مراحل استفاده از BULK INSERT:

 ۱. تبدیل فایل Excel به CSV

   فایل‌های بزرگ یا پیچیده Excel را ابتدا به CSV تبدیل کنید تا فرآیند وارد کردن داده سریع‌تر و پایدارتر شود.

 ۲. ساخت جدول مقصد در SQL Server

CREATE TABLE dbo.MonthlySales (
    SaleID INT,
    ProductName NVARCHAR(100),
    Amount DECIMAL(18,2),
    SaleDate DATE
);

اجرای دستور BULK INSERT

BULK INSERT dbo.MonthlySales
FROM 'C:\Data\SalesData.csv'
WITH
(
    FIELDTERMINATOR = ',',
    ROWTERMINATOR = '\n',
    FIRSTROW = 2
);

روش حرفه‌ای ETL با SSIS

SSIS یک سرویس قدرتمند برای انتقال داده‌های بزرگ و پیچیده است. اگر هر روز یا هر هفته باید داده‌هایی از اکسل وارد SQL Server شود، بهترین روش SSIS است.

 مزایای سرویس SSIS

  1.  سرعت بسیار بالا
  2.  قابلیت پاک‌سازی داده
  3.  اجرای خودکار طبق زمان‌بندی (Schedule)
  4.  پشتیبانی از چندین فایل اکسل

مزایای سرویس SSIS sqlserver

🌟 آیا می‌خواهید به یک متخصص پایگاه داده تبدیل شوید و در دنیای فناوری اطلاعات بدرخشید؟

با دوره آموزشی SQL Server ما، شما می‌توانید به راحتی و با روشی عملی، تمام مهارت‌های لازم را یاد بگیرید!

این دوره به شما آموزش می‌دهد که چگونه داده‌ها را به بهترین شکل مدیریت کنید، گزارش‌های قدرتمند بسازید و به تحلیل‌های عمیق دست یابید.

با محتوای جذاب و پروژه‌های واقعی، شما نه تنها تئوری را یاد می‌گیرید، بلکه توانایی‌های عملی خود را نیز تقویت می‌کنید.

پس فرصت را از دست ندهید! همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده شغلی روشن‌تر بردارید!

 همین حالا شروع کنید و به دنیای داده‌ها بپیوندید!

نکات مهم برای جلوگیری از خطا هنگام انتقال داده اکسل به SQL

بسیاری از خطاها مربوط به فرمت داده یا ساختار اکسل است. ابتدا موارد زیر را بررسی کنید:

  1.  ستون‌ها نباید داده‌های ترکیبی داشته باشند (متن + عدد)
  2.  شیت باید Header استاندارد داشته باشد
  3.  تاریخ‌ها باید فرمت مشخص داشته باشند
  4.  سلول Merge شده حذف شود
  5.  نام شیت با $ ختم شود (مثلاً Sheet1$)
  6.  مسیر فایل انگلیسی باشد.

 

آموزش انتقال داده از اکسل (Excel) به SQL Server با Wizard

مرحله اول :  ایجاد دیتابیس اکسل

ابتدا یک دیتابیس مثال شهرهای ایران  در اکسل میسازیم.

در این دیتابیس یک جدول شهر مثل شهرهای ایران میسازیم.

داده های پیش فرض وارد میکنیم.

 

 ایجادفایل اکسل

مرحله دوم :  انتخاب import Data

بر روی دیتابیس مقصد راست کلیک کرده و گزینه  Tasks  سپس  Import Data  را انتخاب کنید. در پنجره باز شده، 

انتخاب import Data

مرحله سوم :  باز شدن پنجره Import and Export

در پنجره باز شده گزینه Next راز ده.

 باز شدن پنجره Import and Expor

مرحله چهارم :  انتخاب منبع داده (Choose a Data Source)

    Data Source: Microsoft Access (Microsoft Jet Database Engine)

        انتخاب این گزینه برای اتصال به فایل‌های پایگاه داده اکسل استفاده میشود.

بخش اطلاعات اتصال

    File Name:

 مسیر کامل فایل دیتابیس اکسس شامل نام فایل و پسوند MDB

    User Name:

        فیلد اختیاری برای نام کاربری (در صورت وجود امنیت روی فایل اکسس)

    Password:

        فیلد اختیاری برای رمز عبور (در صورت محافظت شدن فایل با رمز)

      Browse :

        برای جستجو و انتخاب فایل دیتابیس از طریق پنجره مرورگر فایل

     Advanced:

        تنظیمات پیشرفته برای پارامترهای خاص اتصال

     Help:

دسترسی به راهنمای کامل

     Back:

بازگشت به مرحله قبل

    Next  :

ادامه به مرحله بعد

    Finish  :

اتمام سریع با تنظیمات پیش‌فرض

 

انتخاب منبع داده (Choose a Data Source) برای اکسل

مرحله چهارم : انتخاب دیتابیس مقصد (Choose a Destination)

 

    Destination: Microsoft OLE DB Provider for SQL Server

        انتخاب این گزینه برای اتصال به سرور SQL Server

بخش تنظیمات اتصال سرور

    Server name:

        نام سرور SQL Server (مثال: localhost, .\SQLEXPRESS, نام سرور شبکه)

بخش احراز هویت (Authentication)

    Use Windows Authentication:

        استفاده از اعتبارسنجی ویندوز (امن‌تر - توصیه شده)

    Use SQL Server Authentication:

        استفاده از نام کاربری و رمز عبور اختصاصی SQL Server

        User name: نام کاربری دیتابیس

        Password: رمز عبور حساب کاربری

بخش انتخاب دیتابیس

    Database: example

        انتخاب دیتابیس مقصد از لیست موجود

    Refresh: به روزرسانی لیست دیتابیس‌ها

    New...: ایجاد دیتابیس جدید

نوار ابزار پایین

    Help: دسترسی به راهنمای کامل

    < Back: بازگشت به مرحله قبل

    Next >: ادامه به مرحله بعد

    Finish >>: اتمام سریع با تنظیمات پیش‌فرض

    Cancel: انصراف از عملیات

 انتخاب دیتابیس مقصد (Choose a Destination) برای ورود داده اکسل

مرحله پنجم :   انتخاب روش انتقال (Specify Table Copy or Query)

 
گزینه اول: کپی مستقیم داده

✓ Copy data from one or more tables or views

    کاربرد: کپی کامل داده از جداول و ویوهای موجود

    مزایا:

        انتقال سریع و بدون نیاز به دانش SQL

        مناسب برای انتقال کامل جداول

        حفظ ساختار اصلی داده‌ها

        ایده‌آل برای مهاجرت کامل دیتابیس

گزینه دوم: استفاده از کوئری سفارشی

✓ Write a query to specify the data to transfer

    کاربرد: نوشتن کوئری SQL برای مدیریت و فیلتر داده

    مزایا:

        امکان فیلتر کردن سطرهای خاص

        انتخاب ستون‌های مورد نیاز

        انجام عملیات JOIN روی چند جدول

        اعمال شرط و مرتب‌سازی داده‌ها

نوار ابزار پایین

    Help: دسترسی به راهنمای کامل

    Back: بازگشت به مرحله قبل

    Next : ادامه به مرحله بعد

    Finish : اتمام سریع با تنظیمات پیش‌فرض

    Cancel: انصراف از عملیات

 

 انتخاب روش انتقال (Specify Table Copy or Query)

مرحله ششم :  انتخاب جداول و ویوها (Select Source Tables and Views)

 لیست جداول قابل انتقال

        نمایش مسیر فایل اکسس به عنوان منبع داده

    Destination: [dbo].[city]

        مشخصات جدول مقصد در SQL Server

        Schema: dbo (پیش‌فرض)

        Table Name: city

گزینه‌های انتخاب

    چک‌باکس کنار جدول city:

        فعال کردن این جدول برای انتقال

        امکان انتخاب چندین جدول به صورت همزمان

دکمه‌های مدیریت پیشرفته


 Edit Mappings 

    کاربرد: تنظیمات دقیق نگاشت ستون‌ها

    قابلیت‌ها:

        تغییر نام جدول مقصد

        تنظیم نوع داده ستون‌ها

        مدیریت کلیدهای اصلی

        تعیین اقدامات در صورت وجود داده

 Preview 

    کاربرد: پیش‌نمایش داده‌های جدول

    قابلیت‌ها:

        مشاهده نمونه داده‌ها قبل از انتقال

        بررسی ساختار جدول

        اطمینان از صحت داده‌ها

نوار ابزار پایین

    Help: دسترسی به راهنمای کامل

    Back: بازگشت به مرحله قبل

    Next : ادامه به مرحله بعد

    Finish : اتمام سریع با تنظیمات پیش‌فرض

    Cancel: انصراف از عملیات
 

 انتخاب جداول و ویوها (Select Source Tables and Views) در داده های اکسل

 

مرحله هشتم :  بخش ذخیره سازی و اجرا (Save and Run Package)

1. اجرای فوری (Run immediately)

    توضیح: این گزینه عملیات واردسازی یا صادرسازی داده‌ها را بلافاصله پس از کلیک روی «Finish» اجرا می‌کند.

    کاربرد: مناسب برای مواقعی که می‌خواهید داده‌ها فقط یکبار منتقل شوند و نیازی به ذخیره‌سازی تنظیمات برای استفاده مجدد ندارید.

2. ذخیره بسته SSIS (Save SSIS Package)

    توضیح: با فعال کردن این گزینه، می‌توانید تنظیمات انجام‌شده را به عنوان یک بسته SSIS ذخیره کنید تا در آینده بتوانید آن را دوباره اجرا یا تغییر دهید.

    مقصد ذخیره‌سازی:

        SQL Server: بسته درون پایگاه داده msdb سرور SQL ذخیره می‌شود.

        File system: بسته به عنوان یک فایل با پسوند .dtsx در مسیر مشخصی روی سرور ذخیره می‌گردد.

3. سطح محافظت از بسته (Package protection level)

    توضیح: این بخش تعیین می‌کند که چگونه اطلاعات حساس (مانند رمزهای عبور) درون بسته محافظت شوند.

    گزینه انتخاب‌شده در تصویر: Encrypt sensitive data with user key

        معنی: اطلاعات حساس با استفاده از کلید کاربر جاری (User Key) رمزگذاری می‌شوند. فقط همان کاربر و روی همان سیستم می‌تواند بسته را اجرا یا ویرایش کند.

4. رمز عبور (Password)

    توضیح: در صورت انتخاب سطح حفاظتی که نیاز به رمز عبور دارد (مانند Encrypt all data with password)، این دو فیلد برای وارد کردن و تأیید رمز عبور نمایش داده می‌شوند.

    نکته: در تصویر فعلی، این فیلدها غیرفعال هستند زیرا سطح حفاظت انتخاب‌شده (User Key) نیازی به رمز عبور ندارد.

5. دکمه‌های ناوبری

    Help: راهنمای مربوط به این پنجره را نمایش می‌دهد.

      Back: بازگشت به مرحله قبل.

    Next : رفتن به مرحله بعد (در این حالت غیرفعال است).

    Finish : تکمیل مراحل و اجرای عملیات بر اساس تنظیمات انجام‌شده.

    Cancel: لغو عملیات و بستن جادوگر.

 

بخش ذخیره سازی و اجرا (Save and Run Package)

مرحله نهم :  بخش Complete the Wizard

این پنجره مرحله نهایی است که خلاصه‌ای از تمام تنظیمات و اقداماتی که قرار است انجام شود را نمایش می‌دهد.  

باتن  این Finish را زده .

بخش Complete the Wizard

مرحله دهم:  وضعیت کلی اجرا (Execution Status)

مراحل با موفقیت انجام شده . داده ها وارد شده است

  وضعیت کلی اجرا (Execution Status)

مرحله یازدهم :  نمایش جدول در دیتابیس Sql

جدول city به دیتابیس اضافه شده است.

نمایش جدول در دیتابیس  Sql پس از  ورود داده اکسل

 

 

مثال‌های پروژه‌محور وارد کردن داده اکسل به SQL Server

برای درک بهتر کاربرد عملی انتقال داده‌ها، بررسی مثال‌های پروژه‌محور بسیار مفید است.

این مثال‌ها نشان می‌دهند چگونه می‌توان اطلاعات واقعی از فایل اکسل را به جدول‌های SQL منتقل کرد و برای تحلیل یا گزارش‌گیری آماده نمود.

مثال ۱: وارد کردن لیست مشتریان از Excel به SQL Server

این مثال زمانی کاربرد دارد که یک فایل اکسل حاوی اطلاعات مشتریان دارید و می‌خواهید آن را در یک جدول SQL ذخیره کنید تا بتوانید گزارش‌گیری یا تحلیل انجام دهید.

 ساخت جدول مقصد

CREATE TABLE dbo.Customers (
    CustomerID INT,
    FullName NVARCHAR(100),
    Phone NVARCHAR(20),
    City NVARCHAR(50)
);

وارد کردن داده‌های اکسل

INSERT INTO dbo.Customers (CustomerID, FullName, Phone, City)
SELECT *
FROM OPENROWSET(
    'Microsoft.ACE.OLEDB.12.0',
    'Excel 12.0;HDR=YES;Database=C:\Data\Customers.xlsx',
    'SELECT * FROM [Sheet1$]'
);

مثال ۲: وارد کردن گزارش فروش ماهانه و ساخت گزارش تجمیعی

این مثال زمانی استفاده می‌شود که هر ماه یک فایل اکسل شامل فروش محصولات دریافت می‌کنید و باید آن را وارد SQL Server کنید.

 ساخت جدول فروش

CREATE TABLE dbo.MonthlySales (
    SaleID INT,
    ProductName NVARCHAR(100),
    Amount DECIMAL(18,2),
    SaleDate DATE
);

Import داده فروش

SELECT ProductName, SUM(Amount) AS TotalSales
FROM dbo.MonthlySales
GROUP BY ProductName
ORDER BY TotalSales DESC;

پرسش‌های آموزش وارد کردن داده اکسل به SQL Server

1. ساده‌ترین روش وارد کردن داده اکسل به SQL Server چیست؟

روش Import Wizard در SSMS آسان‌ترین و سریع‌ترین روش است.

 2. آیا می‌توان با T-SQL داده‌های اکسل را وارد SQL Server کرد؟

بله با OPENROWSET یا OPENDATASOURCE.

پرسش‌های آموزش وارد کردن داده اکسل به SQL Server

نتیجه‌گیری 

وارد کردن داده‌های اکسل به SQL Server زمانی بهترین نتیجه را می‌دهد که فایل اکسل استاندارد باشد و روش مناسب با حجم و نیاز پروژه انتخاب شود.

برای کارهای ساده، Import Wizard سریع‌ترین گزینه است؛ برای اتومات‌سازی یا کارهای سازمانی، روش‌های T-SQL (OPENROWSET) و SSIS عملکرد حرفه‌ای‌تری ارائه می‌دهند.

با رعایت نکاتی مثل اصلاح هدرها، جلوگیری از سلول‌های Merge و یکسان‌سازی نوع داده‌ها، بسیاری از خطاهای رایج حذف می‌شود.

در مجموع، شناخت ابزارها و اصول کار باعث می‌شود فرآیند انتقال داده دقیق، سریع و قابل اعتماد انجام شود و بتوان از قدرت SQL Server برای تحلیل و مدیریت داده‌ها بیشترین بهره را برد.

 

 

 

دوره های مرتبط
آموزش Sql,آموزش sqlserver, آموزش جامع Sqlserver

آموزش پایگاه داده SqlServer

پایگاه داده Sqlserver یکی از پایگاه داده های مهم برای ذخیره اطلاعات محسوب میشود .

997,000 تومان

3.6k بازدید

ارسال دیدگاه

برای ارسال نظر لطفا ورود یا ثبت نام کنید.