我想创建一个 SQL 连接并将数据从应用程序(Shoutouts 模板)导入 SQL 数据库。我创建了一个 SQL 连接并尝试在其中导入数据,但出现此错误。
CreatedOnDateTime:指定列是服务器生成的,不能指定
我确实CreatedOnDateTime
创建了列,但我猜它的数据类型不一样或其他东西。
在哪里可以查看通过 SQL 连接从 PowerApps 将哪些字段和数据类型导入 PowerApps 中的 SQL 表?
谢谢您的帮助!
我想创建一个 SQL 连接并将数据从应用程序(Shoutouts 模板)导入 SQL 数据库。我创建了一个 SQL 连接并尝试在其中导入数据,但出现此错误。
CreatedOnDateTime:指定列是服务器生成的,不能指定
我确实CreatedOnDateTime
创建了列,但我猜它的数据类型不一样或其他东西。
在哪里可以查看通过 SQL 连接从 PowerApps 将哪些字段和数据类型导入 PowerApps 中的 SQL 表?
谢谢您的帮助!
总的来说,在 PowerApps 中找出数据源的结构并不容易(请为此在PowerApps Ideas 板中创建一个新功能请求)。但是,有一种复杂的方法可以找到它,我将在这里介绍。
但对于您的具体问题,这是与 PowerApps 中数据源架构匹配的 SQL 表架构:
CREATE TABLE PowerAppsTest.StackOverflow51847975 (
PrimaryID BIGINT PRIMARY KEY,
[Id] NVARCHAR(MAX),
[Message] NVARCHAR(MAX),
CreatedOnDateTime NVARCHAR(MAX),
CreatorEmail NVARCHAR(MAX),
CreatorName NVARCHAR(MAX),
RecipientEmail NVARCHAR(MAX),
RecipientName NVARCHAR(MAX),
ShoutoutType NVARCHAR(MAX),
[Image] IMAGE
)
现在对于一般情况。您已被警告说这很复杂,因此请自行承担风险:)
该应用程序将使用 .msapp 扩展名保存,但它基本上是一个 .zip 文件。如果您使用的是 Windows,您可以将其重命名以将扩展名更改为 .zip,您将能够解压缩并提取描述该应用程序的文件。
其中一个文件 Entities.json 包含应用程序中使用的所有数据源的架构定义等。该文件是一个巨大的 JSON 文件,它的所有空格都已删除,因此您可能需要使用一些在线工具来格式化(或美化)JSON 以便于阅读。完成此操作后,您可以在您喜欢的文本编辑器中打开文件(比记事本更好的任何东西都应该能够处理它)。
打开文件后,在 JSON 根目录中搜索具有“名称”属性且值等于数据源名称的条目。比如在shoutouts应用案例中,数据源叫做“Shoutout”,所以搜索
"Name": "Shoutout"
如果在打开 JSON 文件之前没有漂亮地打印它,则必须删除空格。这应该是一个描述数据源的对象,并且它有一个名为的属性DataEntityMetadataJson
,该属性具有数据源模式,格式为 JSON 字符串。同样在 Shoutouts 示例中,这是值:
"{\"name\":\"Shoutout\",\"title\":\"Shoutout\",\"x-ms-permission\":\"read-write\",\"schema\":{\"type\":\"array\",\"items\":{...
请注意,它又不是漂亮的印刷品。您首先需要对该字符串进行解码,然后再次对其进行漂亮打印,最终您将得到如下结果:
{
"name": "Shoutout",
"title": "Shoutout",
"x-ms-permission": "read-write",
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"PrimaryID": {
"type": "number",
"format": "double",
...
},
"Message": {
"type": "string",
...
},
"Image": {
"type": "string",
"format": "uri",
"x-ms-media-kind": "image",
...
},
"Id": {
"type": "string",
...
},
"CreatedOnDateTime": {
"type": "string",
...
},
...
这是数据源的架构。从此我在 SQL 中重新创建了模式,从应用程序中删除了对 Shoutout 数据源的引用(这导致了许多错误),然后添加了对我的 SQL 表的引用,并且由于它具有不同的名称,所以去寻找所有的地方应用程序中有错误来修复这些错误。
希望这可以帮助!