首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法写入SQL Azure中新创建的表

无法写入SQL Azure中新创建的表
EN

Stack Overflow用户
提问于 2015-11-22 02:35:39
回答 1查看 69关注 0票数 0

在我们的Azure SQL Service db中,我们有一个用于跟踪用户操作的表App_Tracking。我们需要增加日志缓冲区的大小,因此我首先将所有记录复制到使用以下SQL语句定义的存档表中

代码语言:javascript
复制
CREATE TABLE [dbo].[App_Tracking_Nov20_2015]( 
[ID] [int] IDENTITY(1,1) NOT NULL, 
[UserID] [nvarchar](50) NOT NULL, 
[App_Usage] [nvarchar](1024) NOT NULL, 
[Timestamp] [datetime] NOT NULL ) 

然后,使用SQL Management Studio 2012,我使用以下命令重新创建了原始表:Drop/Create script Generation:

代码语言:javascript
复制
USE [tblAdmin] GO 
/****** Object: Table [dbo].[App_Tracking] Script Date: 11/21/2015 11:42:01 AM ******/ 
DROP TABLE [dbo].[App_Tracking] GO 
/****** Object: Table [dbo].[App_Tracking] Script Date: 11/21/2015 11:42:01 AM ******/ 
SET ANSI_NULLS OFF 
GO 
SET QUOTED_IDENTIFIER ON 
GO 

CREATE TABLE [dbo].[App_Tracking]( 
[ID] [int] IDENTITY(1,1) NOT NULL, 
[UserID] [nvarchar](50) NOT NULL, 
[App_Usage] [nvarchar](4000) NOT NULL, 
[Timestamp] [datetime] NOT NULL, 
CONSTRAINT [PrimaryKey_ 7c88841f-aaaa-bbbb-cccc- c26fe6a5720e] 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 

这是SMS2012为您创建的自动删除/创建

然后,我使用EXEC sp_updatestats更新了App_Admin上的统计数据

问题是我不能再程序化地向这个表中添加记录了。

如果我从manage.windowsazure.net打开App_Admin并“在Visual Studio中打开”,我就可以手动向其中添加一条记录。但是如果我在SMS2012中运行代码

代码语言:javascript
复制
USE [tblAdmin] GO
UPDATE [dbo].[App_Tracking] SET 
[UserID] = 'e146ba22-930c-4b22-ac3c-15da47722e75' ,
[App_Usage] = 'search search: Bad Keyword: asdfadsfs' ,
[Timestamp] = '2015-11-20 20:00:18.700' 
GO 

不会更新任何内容,但不会抛出错误。

如果我以编程方式使用

代码语言:javascript
复制
var adminContext = new App_AdminEntities(); 
string prunedAction = action.Length <= 4000 ? action : action.Trim().Substring (0, 4000); // insure we don't fault on overflow of too long a keyword list 
var appTracking = new App_Tracking 
{ 
UserID = userId, 
PP_Usage = prunedAction, 
Timestamp = DateTime.Now 
}; 
try { 
adminContext.App_Tracking.Add(APPTracking); 
adminContext.SaveChanges(); 
adminContext.Dispose(); 
}

我在SaveChanges (这是.net SQL db函数)上抛出一个错误,我做错了什么

EN

回答 1

Stack Overflow用户

发布于 2015-11-23 19:45:08

好了,我找到了问题所在。结果是我没有更新相关的EDMX文件,因此错误是由内部实体验证抛出的-它有点隐藏在幕后-

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33847092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档