如何将 .CSV 和 Excel 文件导入 Azure SQL 服务器
How to import .CSV and Excel files into Azure SQL Server
我已经使用数据库 import/export 将数据移入和移出 SQL 服务器,没有任何问题。
经过 3 小时的搜索,我没有看到 Azure SQL 服务器数据库的 SQL 服务器 Import/Export 等价物。
是否有来自 MS 或其他的简单 tool/utility 可以 import/export 数据到 Sql Azure?
您可以使用 BCP 命令行实用程序。 https://azure.microsoft.com/en-us/documentation/articles/sql-data-warehouse-load-with-bcp/
Azure SQL 数据库支持 .bacpac/.dacpac 文件的导入和导出。请参阅以下文章了解更多详情:
您可以转到左上角的 "New" 按钮并单击 "Dataset" - 本地文件以将您想要的任何文件导入到 Azure 计算机中。这是最好和最简单的导入方式。
我做了一个简化的解决方法。您可以使用导入任务将您的 excel 或 csv 导入到本地 sql 服务器,并且在此导入 table 之外,您可以创建一个带有插入数据语句的 Sql 脚本。 运行 Azure 数据库上的此脚本。
如果你没有安装任何 sql 服务器,只需下载一个简单的 sqlitebrowser,你可以使用 sqlite 做同样的事情。搜索 SQLiteDatabaseBrowserPortable
BCP 是必经之路。
BCP <databasename>.dbo.<tablename> IN <localfolder>\<filename>.txt -S <servername> -d <database> -U <username>@<servername> -P <password> -q -c -C -t ;
-C
使您能够根据需要使用 UTF-8 处理特殊字符(如 æøå)。
如前所述,您可以使用 BCP,但请记住,Azure SQL 也内置了您可以使用的 BCP。
这里是如何做的例子https://marczak.io/posts/azure-loading-csv-to-sql/
或者,您可以使用 Azure 数据工厂轻松地将数据从 blob 存储加载到数据库中,您可以在此处找到示例:https://azure4everyone.com/posts/2019/07/data-factory-intro/
我一直用BULK
。
但是,由于Azure的服务器明显不在你的电脑上,所以你需要稍微修改一下:
CREATE EXTERNAL DATA SOURCE MyAzureBlobStorage
WITH ( TYPE = BLOB_STORAGE,
LOCATION = 'https://xxxxxxxx.blob.core.windows.net/miladcontainer'
);
上面的代码首先创建了一个虚拟的DATA SOURCE
,然后你可以使用BULK INSERT
从它上传,代码如下:
BULK INSERT clinical_survey
FROM 'clinical_survey.csv'
WITH (DATA_SOURCE = 'MyAzureBlobStorage',
FORMAT = 'CSV');
执行代码前应采取的步骤如下:
1- 创建一个 blob 存储容器(在 Azure 中搜索并创建一个 public)
2- 当询问时,选择 BLOB PUBLIC STORAGE
3- 在刚刚创建的 Blob 中上传您的 CSV 文件
4-分别执行以上代码
我已经使用数据库 import/export 将数据移入和移出 SQL 服务器,没有任何问题。
经过 3 小时的搜索,我没有看到 Azure SQL 服务器数据库的 SQL 服务器 Import/Export 等价物。
是否有来自 MS 或其他的简单 tool/utility 可以 import/export 数据到 Sql Azure?
您可以使用 BCP 命令行实用程序。 https://azure.microsoft.com/en-us/documentation/articles/sql-data-warehouse-load-with-bcp/
Azure SQL 数据库支持 .bacpac/.dacpac 文件的导入和导出。请参阅以下文章了解更多详情:
您可以转到左上角的 "New" 按钮并单击 "Dataset" - 本地文件以将您想要的任何文件导入到 Azure 计算机中。这是最好和最简单的导入方式。
我做了一个简化的解决方法。您可以使用导入任务将您的 excel 或 csv 导入到本地 sql 服务器,并且在此导入 table 之外,您可以创建一个带有插入数据语句的 Sql 脚本。 运行 Azure 数据库上的此脚本。 如果你没有安装任何 sql 服务器,只需下载一个简单的 sqlitebrowser,你可以使用 sqlite 做同样的事情。搜索 SQLiteDatabaseBrowserPortable
BCP 是必经之路。
BCP <databasename>.dbo.<tablename> IN <localfolder>\<filename>.txt -S <servername> -d <database> -U <username>@<servername> -P <password> -q -c -C -t ;
-C
使您能够根据需要使用 UTF-8 处理特殊字符(如 æøå)。
如前所述,您可以使用 BCP,但请记住,Azure SQL 也内置了您可以使用的 BCP。
这里是如何做的例子https://marczak.io/posts/azure-loading-csv-to-sql/
或者,您可以使用 Azure 数据工厂轻松地将数据从 blob 存储加载到数据库中,您可以在此处找到示例:https://azure4everyone.com/posts/2019/07/data-factory-intro/
我一直用BULK
。
但是,由于Azure的服务器明显不在你的电脑上,所以你需要稍微修改一下:
CREATE EXTERNAL DATA SOURCE MyAzureBlobStorage
WITH ( TYPE = BLOB_STORAGE,
LOCATION = 'https://xxxxxxxx.blob.core.windows.net/miladcontainer'
);
上面的代码首先创建了一个虚拟的DATA SOURCE
,然后你可以使用BULK INSERT
从它上传,代码如下:
BULK INSERT clinical_survey
FROM 'clinical_survey.csv'
WITH (DATA_SOURCE = 'MyAzureBlobStorage',
FORMAT = 'CSV');
执行代码前应采取的步骤如下:
1- 创建一个 blob 存储容器(在 Azure 中搜索并创建一个 public)
2- 当询问时,选择 BLOB PUBLIC STORAGE
3- 在刚刚创建的 Blob 中上传您的 CSV 文件
4-分别执行以上代码