c# - 是否可以使用 "FlatFile Source"将 "CosmosDB"上传到 "SSIS"? (CoreSQL)总是出现此错误

标签 c# azure ssis azure-cosmosdb

我的 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/

相关文章:

c# - 无法访问 asp :TextBox tag from the C# file : the name 'txtUsername' does not exist in the current context

azure - 通过 PowerShell 查找 Azure SQL 数据库异地复制辅助数据库

azure - 从脚本创建 Azure DevOps 环境

sql-server - 如何使用 SSIS 将查询结果集作为电子邮件附件发送?

sql-server - ETL 匹配代码页 SSIS 数据流

c# - 在自定义操作中安装 Windows 服务

c# - File.copy() 方法不支持给定路径的格式错误

c# - 如何使用 Confluent.Kafka .Net Client 创建 Kafka Topic

visual-studio - Visual Studio - 将 Web 应用程序发布到 Azure "Reenter your credentials"不起作用

sql-server - 如何获取解决方案中所有 SSIS 包的所有错误