我的 Cosmos DB 帐户是 CORE (SQL),我一直在尝试看似简单的测试,使用 SSIS 将平面文件源上传到 CosmosDB 中的容器中。
我的 CosmosDB 容器名为 test,只有一项,架构如下
"id"= 这是创建项目的必填字段 “_*”= CosmosDB 创建的非必填字段
我有一个只有一个字符串的平面文件,我将其设置为“id”列。
下载 ODCB 驱动程序并继续使用 Azure CosmosDB 提供的 key 配置连接,测试时返回 OK。
将平面文件源中的列映射到目标中的列
都作为 DT_WSTR 并按运行。
如果我尝试使用数字仅更改第一个数字,则始终返回此错误
- 仅包含字符串
[ODBC Destination [15]] Error: Open Database Connectivity (ODBC) error occurred. SQLExecute returned error while inserting row 1
- 仅包含数字
[ODBC Destination [42]] Error: Open Database Connectivity (ODBC) error occurred. SQLExecute returned error while inserting row 1
是否可以将平面文件源上传到 CosmosDB 中?
谢谢
最佳答案
经过几天的努力,有一种方法可以使用 SSIS 将平面文件上传到 CosmosDB。
当您在 CosmosDB 中创建容器时,您还可以添加一个分区键,此分区键名称需要位于平面文件内,即使它没有出现在架构中或者似乎是必需的IT是必需的
假设您的容器看起来像这个 id、Zipcode (partitionKey)
您的文件应包含 ID 和邮政编码,以便将其映射到 CosmosDB
ID 和分区 key 始终为 DT_WSTR
关于c# - 是否可以使用 "FlatFile Source"将 "CosmosDB"上传到 "SSIS"? (CoreSQL)总是出现此错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59772522/