标签: sql-server-ce

确定SQL Server CE中是否存在表?

我知道这与此问题类似,但我在C#中使用SQL Server CE 3.5和WinForms项目.如何确定表是否存在?我知道IF关键字不受支持,但是EXISTS.在我可以查询它的CE中是否存在information_schema?谢谢.

c# sql sql-server sql-server-ce

18
推荐指数
1
解决办法
2万
查看次数

使用ASP.NET MVC 3和Entity Framework 4.1 Code First在SQL CE 4.0中存储映像时出错

我正在尝试将图像存储/保存在SQL Compact Edition(CE)数据库中.

我将学生模型中的字段声明为:

[Column(TypeName = "image")]
public byte[] Photo { get; set; }
Run Code Online (Sandbox Code Playgroud)

使用Photo列的图像数据类型创建数据库,如下所示:

在此输入图像描述

问题是:

当我运行应用程序并尝试使用3 MB的照片保存学生时(例如),我得到一个例外:

validationError.ErrorMessage = "The field Photo must be a string or array type
with a maximum length of '4000'."
Run Code Online (Sandbox Code Playgroud)

SQL Server CE支持这些数据类型.在SQL Express和SQL Compact Edition(CE)之间的比较中,我们得知SQL CE通过使用图像数据类型来支持二进制(BLOB)存储.

Image =可变长度二进制数据,最大长度为2 ^ 30-1(1,073,741,823)字节.存储是以字节为单位的值的长度.

图像应该完成我认为的工作.

我在这做错了什么?这是一个错误吗?

注意:

我还尝试了MaxLength数据注释:

[Column(TypeName = "image")]
[MaxLength(int.MaxValue)]
public byte[] Photo { get; set; } 
Run Code Online (Sandbox Code Playgroud)

但我得到这个例外:

Binary column with MaxLength greater than 8000 is not supported.
Run Code Online (Sandbox Code Playgroud)

编辑:

我找到了有关EF 4.1发布的 …

image code-first sql-server-ce entity-framework-4.1 asp.net-mvc-3

18
推荐指数
2
解决办法
8147
查看次数

Sql CE的Profiler

我想知道是否有类似Sql Profiler for Sql Server Compact Edition的东西?我使用SqlCE作为桌面应用程序的后端,对于这个嵌入式数据库来说,拥有像sql profiler这样的东西真的很棒.或者至少与NHibernate show_sql功能类似的东西...任何想法?谢谢j.

sql profiler sql-server-ce

17
推荐指数
1
解决办法
4799
查看次数

SQL Compact Edition 3.5 - 不允许访问数据库文件

我使用SQL Server Compact 3.5 开发了一个应用程序(100%本地,无法访问服务器),它在我的计算机上运行良好.但是,当我在另一台计算机上部署它时,它显示以下错误:

Access to the database file is not allowed. [ File name = data\BDApepucCE.sdf ]
Run Code Online (Sandbox Code Playgroud)

我部署在Windows XP计算机上.每当我尝试在数据库上写入时它都会显示此错误,但是,当我阅读时它会起作用.

我在Windows 7计算机上进行了测试,它工作率为100%,除非通过家庭组(即本地网络)访问该文件,但在读取/写入时它都失败了.

平台:Windows 7,Visual Studio 2010和.NET 4 Client Profile

.net c# sql sql-server-ce

17
推荐指数
3
解决办法
2万
查看次数

以编程方式创建SQLCE数据库

[已编辑 - 有答案]

以下是我以编程方式创建SQL CE数据库的代码:

/* get the Path */
var directoryName = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
var fileName = System.IO.Path.Combine(directoryName, "Foo2Database.sdf");

/* check if exists */
if (File.Exists(fileName))
    File.Delete(fileName);

string connStr = @"Data Source = " + fileName;

/* create Database */
SqlCeEngine engine = new SqlCeEngine(connStr);
engine.CreateDatabase();

/* create table and columns */
using (SqlCeConnection conn = new SqlCeConnection(connStr))
{
    using (SqlCeCommand cmd = new SqlCeCommand(@"CREATE TABLE FooTable (Foo_ID int, FooData NVARCHAR(200))", conn))
    {
        try
        {
            conn.Open();
            cmd.ExecuteNonQuery();
        }
        catch (Exception …
Run Code Online (Sandbox Code Playgroud)

c# sql-server-ce

17
推荐指数
1
解决办法
2万
查看次数

为什么SQL Server CE不支持varchar?

我在SQL Server CE中创建了一个表,并意识到它不支持varchar.

仔细研究一下,我发现"不支持非Unicode文本列(varchar,char,text)和smallmoney;虽然支持nvarchar,nchar,ntext和money",如MSDN所述.

这是真的?这究竟是为什么?似乎一个紧凑的数据库将支持需要较少字节存储的数据类型......我假设它需要更多空间来保存Unicode字符.

这背后的原因是什么?

sql-server-ce

16
推荐指数
2
解决办法
7357
查看次数

如何在sqlCE数据库中获取所有表名?

如何在sqlCE数据库中获取所有表名?

我在sqlCE(sdf文件)中有数据库,我需要得到表的所有名称

怎么做 ?

提前致谢

c# sql-server-ce

16
推荐指数
1
解决办法
6784
查看次数

如何在SQL Server Compact Edition中重命名表?

我使用VS2008中的内置设计器设计了我的SQL CE表.我为一对夫妇选择了错误的名字.我现在完全陷入困境,试图找到重命名它们的方法.

我拒绝相信这样的功能可能会被"遗忘".如何使用VS2008设计器或免费的独立应用程序重命名现有表?

sql t-sql sql-server sql-server-ce

15
推荐指数
2
解决办法
8821
查看次数

Microsoft SQL Compact Edition重命名列

我在重命名SQL Server Compact Edition中的列时遇到问题.我知道您可以使用重命名表sp_rename,但这不适用于列.

我已经寻找替代方案,但还没找到.

我可以删除列,然后在特定列之后添加新列吗?如果我删除列并在指定的列之后添加它,数据会丢失吗?

看来,一旦你创建了表,它就无法正确修改 - 这是SQLCE的另一个限制吗?

sql database-design ssms rename sql-server-ce

15
推荐指数
2
解决办法
1万
查看次数

如何在sql server compact中获取特定表的当前标识号

我想获取特定表的当前标识值,如sql server中的IDENT_CURRENT('table')

sql sql-server-ce

15
推荐指数
4
解决办法
4万
查看次数