- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有很多类似的问题,但似乎没有一个问题与我的问题完全相同,并且建议的解决方案都不适合我。
我有一个 Azure SQL 数据库和 Azure Blob 存储,并尝试将数据从 CSV 文件获取到现有表中(相同的数据结构、列顺序等)。
csv 文件的格式没有索引或标题,是通过 Python 中的 pandas 数据框生成的: df.to_csv(csv_path, index=False, header=False)
然后上传到 Blob 存储。
我用来尝试在 SQL 中插入数据的代码是:
CREATE DATABASE SCOPED CREDENTIAL AccessAzure
WITH
IDENTITY = 'SHARED ACCESS SIGNATURE'
, SECRET = 'sv='
;
CREATE EXTERNAL DATA SOURCE GeneralBlob
WITH
( LOCATION = 'https://.blob.core.windows.net/general/'
, CREDENTIAL = AccessAzure
, TYPE = BLOB_STORAGE
)
;
BULK INSERT
FROM 'data.csv'
WITH (DATA_SOURCE = 'GeneralBlob',
FORMAT = 'CSV')
;
一切都运行没有错误,除了最后一部分,我得到:
Cannot bulk load. The file "data.csv" does not exist or you don't have file access rights.
我已经通过测试测试了我的 SAS token 等 https://
就在我的浏览器中,这会提示下载我的 CSV。所以它确实存在,并且使用 token 我应该具有文件访问权限,但尽管如此,我仍然在 SQL 中遇到该错误。
我也尝试过
SELECT * FROM OPENROWSET(
BULK 'data.csv',
DATA_SOURCE = 'GeneralBlob',
FORMAT = 'CSV'
) AS DataFile;
但它提示缺少格式文件,而且我找不到合适的资源来告诉我如何为我的 CSV 制作其中一个。在我看来,当批量插入不起作用时,这也不起作用。
我真的很欢迎任何帮助!!
1 Câu trả lời
我通过编写一些代码从 CSV 中创建格式文件,获得了与 OPENROWSET 的连接。有效的 SQL 代码是:
SELECT * FROM OPENROWSET(
BULK 'data.csv',
DATA_SOURCE = 'GeneralBlob',
FORMAT = 'CSV',
FORMATFILE = 'data.fmt',
FORMATFILE_DATA_SOURCE = 'GeneralBlob'
) AS DataFile;
我编写的用于从 DataFrame 制作格式文件的 Python 函数是:
def make_fmt_file(df, filename):
num_cols = len(df.columns))
with open(filename, 'w') as f:
f.write('10.0\n')
f.write(f'{num_cols}\n')
for i, column in enumerate(df.columns):
dataType = 'SQLCHAR' # Only seems to work with SQLCHAR
collation = '""'
if i+1 < len(df.columns):
line = f'{i+1}\t{dataType}\t0\t0\t\","\t{i+1}\t{column}\t{collation}'
khác:
line =f'{i+1}\t{dataType}\t0\t0\t\"\\r\\n"\t{i+1}\t{column}\t{collation}'
f.write(line+'\n')
关于sql - 将 CSV 从 Blob 存储批量加载到 SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58818963/
我正在尝试从 Azure 容器中删除 blob。我能够连接到它并列出此问题中代码后面的所有 blob:Upload and Delete Azure Storage Blob using azure-
我正在尝试从 Azure 容器中删除 blob。我能够连接到它并列出此问题中代码后面的所有 blob:Upload and Delete Azure Storage Blob using azure-
运行我的 azure 函数(用于读取 azure blob 存储)后出现错误。 错误是 ID 0dad768d-36d4-4c1a-85ae-2a5122533b3c fail: Func
运行我的 azure 函数(用于读取 azure blob 存储)后出现错误。 错误是 ID 0dad768d-36d4-4c1a-85ae-2a5122533b3c fail: Func
Tôi đang sử dụng ứng dụng bảng điều khiển C# (.NET Core 3.1) để đọc một số lượng lớn tệp hình ảnh từ bộ lưu trữ Azure Blob và tạo hình thu nhỏ của những hình ảnh đó. Hình ảnh mới được lưu lại vào Azure và ID Blob được lưu trữ trong cơ sở dữ liệu của chúng tôi.
我没有在网上看到任何有关如何获取位于 BlobContainerClient 内特定目录内的所有 blob 的示例。 以前,我使用的是 Microsoft.Azure.Storage 软件包,但这些软
Tôi đang sử dụng ứng dụng bảng điều khiển C# (.NET Core 3.1) để đọc một số lượng lớn tệp hình ảnh từ bộ lưu trữ Azure Blob và tạo hình thu nhỏ của những hình ảnh đó. Hình ảnh mới được lưu lại vào Azure và ID Blob được lưu trữ trong cơ sở dữ liệu của chúng tôi.
我没有在网上看到任何有关如何获取位于 BlobContainerClient 内特定目录内的所有 blob 的示例。 以前,我使用的是 Microsoft.Azure.Storage 软件包,但这些软
我正在编写一些代码,允许用户使用麦克风录制自己的声音,然后将录音上传到 Azure Blob 存储。 为了录制音频,我使用类似于下面的代码 let recordedBlobs = []; this.m
当前使用:https://github.com/Azure/azure-sdk-for-go 概述:我当前正在从 azure blob 存储中下载一个 blob,解析该 blob,然后将转录的 blo
正在观看 this video about how to design Tinder ,在 06:50 提出了关于文件与 BLOBS 的观点。 我想知道大二进制文件和 BLOB(二进制大对象)之间有什
目前我有 hibernate JPA HSQLDB 来自动创建我的数据库表。 如何告诉 JPA 或 Hibernate 将字符串保存为 clob/blob 字段?即一个很长的字符串。到目前为止我找不
我有一个一维 NumPy 数组,其中包含一些“坏”值。我想剔除它们。 每个坏值的邻居只是“顽皮”,但我也想剔除它们。 对不良值的可靠测试是询问: arr<0.1 但是,(我能想到的)对于顽皮值的唯一可
查看有关获取 Blob 和获取 Blob 属性的 MSDN 文档。两个请求看起来相同 "https://myaccount.blob.core.windows.net/mycontainer/mybl
我有 2 个 Blob 存储,一个在 eastus,一个在 canadaeast,我想将一个 .vhd 从 eastus 复制到 canadaeast。我去了 eastus,在我想要复制的 blob
所以场景如下: 我有多个 Web 服务实例,用于将 blob 数据写入 Azure 存储。我需要能够根据收到的时间将 blob 分组到容器(或虚拟目录)中。偶尔(最坏的情况是每天)旧的 blob 会被
在 Azure Blobstorage 中,我有 100 个 Blob,但我只想列出前 10 个 Blob。我该怎么做? 我写的{maxResults:1}没有任何效果,它仍然列出了我所有的 Blob
我们当前的代码使用 Azure SDK 1.8,为了生成共享访问签名,它将首先调用 CloudBlobContainer.GetBlobReference(),然后调用 CloudBlob.GetSh
我有大量文件存储在公共(public) Azure blob 容器中,所有这些文件都通过我的 ASP.NET MVC Web 应用程序中的 HTML 直接引用。例如,blob 存储中一个图像的路径如下
我有一个 NodeJS 后端,它使用 Microsoft 的官方 Blob 存储库 (@azure/storage-blob) 来管理我的 Blob 存储: https://www.npmjs.com
Tôi là một lập trình viên xuất sắc, rất giỏi!