我有一個確定的時間,但我無法確定問題源於何處。Azure移動服務 - 插入數據 - 提供的數據類型無效
我創建了一個新的Azure移動服務,並試圖將一塊數據插入名爲Product的表中。
Product item = new Product();
item.Name = "Test";
Toast.makeText(MainMenu.this, "" + item.Name, toast.LENGTH_SHORT).show();
mClient.getTable(Product.class).insert(item, new TableOperationCallback<Product>() {
public void onCompleted(Product entity, Exception exception, ServiceFilterResponse response) {
if (exception == null) {
Toast.makeText(MainMenu.this, "Success!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainMenu.this, "" + exception + "", Toast.LENGTH_SHORT).show();
}
}
});
現在我將item =「TEST」設置爲一個字符串?
public class Product {
public String ID;
public String Name;
}
所以我的移動業務表類設置爲接受字符串和數據庫是要求
USE [SQLDB]
GO
/****** Object: Table [dbo].[Product] Script Date: 21/08/2016 11:12:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Product](
[id] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](100) NULL,
[thetimestamp] [datetime] NULL DEFAULT (getdate()),
[deleted] [bit] NULL DEFAULT ((0)),
[createdAt] [datetimeoffset](7) NOT NULL DEFAULT (CONVERT([datetimeoffset](7),sysutcdatetime(),(0))),
[updatedAt] [datetimeoffset](7) NOT NULL DEFAULT (CONVERT([datetimeoffset](7),sysutcdatetime(),(0))),
PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
GO
SET ANSI_PADDING OFF
GO
現在我完全糊塗了,爲什麼我的應用程序給我下面的錯誤:
com.microsoft.windowsazure.mobileservices.MobileServiceException: {"error":"Invalid data type provided"}
編輯:
我還在儘管recreatin這個問題g所有通過Azure門戶的表以及所有生成的列,我也嘗試了VARCHAR(由Azure自動生成)和INT主鍵。
是否使用Azure的經典Azure門戶中的移動服務,還是新的Azure移動應用程序?舊的是不贊成的。 –
Hiya,我在新門戶中使用它。這是一個3天前開始的新項目,我從頭開始設置。我可能有一些日期代碼,在那裏我已經從之前的項目中拉出來了嗎? –
有幾個可能的原因 - 創建腳本缺少版本[timestamp]列 - 如果使用整數主鍵,則必須在表配置中指定此值 - 「timetimeamp」列應爲datetimeoffset(7)type - 此表是由移動應用程序後端創建的嗎?它可能缺少必需的默認值和觸發器 –