如何将 .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-分别执行以上代码