【发布时间】:2016-02-22 11:53:57
【问题描述】:
我已经使用数据库导入/导出将数据移入和移出 SQL Server,没有任何问题。
经过 3 小时的搜索,我没有看到 Azure SQL 服务器数据库的 SQL 服务器导入/导出等效项。
是否有来自 MS 或其他可以将数据导入/导出到 Sql Azure 的简单工具/实用程序?
【问题讨论】:
标签: azure azure-sql-database bcp
我已经使用数据库导入/导出将数据移入和移出 SQL Server,没有任何问题。
经过 3 小时的搜索,我没有看到 Azure SQL 服务器数据库的 SQL 服务器导入/导出等效项。
是否有来自 MS 或其他可以将数据导入/导出到 Sql Azure 的简单工具/实用程序?
【问题讨论】:
标签: azure azure-sql-database bcp
【讨论】:
我做了一个简化的解决方法。您可以使用导入任务将您的 excel 或 csv 导入本地 sql 服务器,并在此导入表之外,您可以创建一个带有插入数据语句的 Sql 脚本。在 Azure 数据库上运行此脚本。 如果你没有安装任何 sql server,只需下载一个简单的 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 处理具有特殊字符的情况(如 æøå)。
【讨论】:
我总是使用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 中搜索并创建一个公共容器)
2- 询问时,选择 BLOB PUBLIC STORAGE
3- 在刚刚创建的 Blob 中上传 CSV 文件
4- 分别执行以上代码
【讨论】:
如前所述,您可以使用 BCP,但请记住,Azure SQL 还内置了您可以使用的 BCP。
这里是如何做到这一点的例子https://marczak.io/posts/azure-loading-csv-to-sql/
或者,您可以使用 Azure 数据工厂轻松地将数据从 blob 存储加载到数据库中,您可以在此处找到示例:https://azure4everyone.com/posts/2019/07/data-factory-intro/
【讨论】:
您可以转到左上角的“新建”按钮,然后单击“数据集”-本地文件以将您想要的任何文件导入 Azure 机器。这是最好和最简单的导入方式。
【讨论】: