标签: sql-server-ce

Windows 上的 SQL Server CE 安装 - 只需引用 DLL 就完成了?

我只是想确保我正确理解了文档。如果我在 Visual Studio 2008 项目中添加 System.Data.SqlServerCe 作为引用,对其进行编译,并将“bin\Release”目录的内容复制到具有最新版本的 .NET Framework 的 Windows 计算机上,是否可以只是工作?或者我需要做别的事情吗?

dll visual-studio-2008 sql-server-ce

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

Provider:未安装System.Data.SqlServerCe.3.5

嗨,我正在尝试使用LINQ与SQL Server CE.我使用SqlMetal生成了dmbl文件,将其添加到项目中,还添加了对程序集的引用System.Data.SqlServerCe.dll

我的应用程序是基于.NET4.0的WPF,并且构建为x86.

在我的PC上安装了SQL Server CE.

我尝试了以下代码:

const string connStr = @"Spiri_SQL_CE_DB.sdf";
var dataContext = new Spiri_SQL_CE_DB(connStr);
var testNicks = dataContext.TestNick;
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

无法打开'C:\ Users\Jan\Documents\Visual Studio 2010\Projects\C#\ Pokec_Messenger_Project\Pokec_Messenger\DB_TEST\Spiri_SQL_CE_DB.sdf'.未安装提供程序'System.Data.SqlServerCe.3.5'.

我错过了什么?对某些装配或其他东西的引用?

如果我在.NET3.5上重新定位应用程序它运行良好!

linq wpf sql-server-ce

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

具有SQL CE 4问题的实体框架4

我通过创建模型创建了一个实体框架4.0应用程序.使用此技巧创建SQL Server Compact 4.0版数据库.

现在我完成了将初始数据导入数据库的所有代码(添加元素工作正常).但是,如果我尝试通过访问元素

 Context context = new Context();

 foreach (var c in context.Customers) // Exception
 {
     System.Diagnostics.Debug.Print(c.ToString());
 }
Run Code Online (Sandbox Code Playgroud)

它在foreach循环的开头抛出一个异常:

[A]System.Data.SqlServerCe.SqlCeConnection cannot be cast to 
[B]System.Data.SqlServerCe.SqlCeConnection. Type A originates from 
'System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=89845dcd8080cc91' in the context 'Default' at location
'C:\Windows\assembly\GAC_MSIL\System.Data.SqlServerCe\4.0.0.0__89845dcd8080cc91\
System.Data.SqlServerCe.dll'. Type B originates from 'System.Data.SqlServerCe, 
Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' in the context
'Default' at location  'C:\Windows\assembly\GAC_MSIL\System.Data.SqlServerCe\
3.5.1.0__89845dcd8080cc91\System.Data.SqlServerCe.dll'.
Run Code Online (Sandbox Code Playgroud)

我将这些引用添加到我的应用程序:

System.Data.Entity - 4.0
System.Data.SqlServerCe - 4.0
System.Data.SqlServerCe.Entity - 4.0
Run Code Online (Sandbox Code Playgroud)

有没有人有想法,我的配置有什么问题?

PS:我想使用SQL CE 4.0,因为计算值.如果我需要使用3.5,我需要改变我的架构(或者是否可以在上下文类中实现类似计算值的东西?).

c# entity-framework sql-server-ce

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

如何让 Sql Server CE 从 1 开始标识?

我不能在 sql server CE 中使用 truncate 表(烦人)所以我使用:

drop table mytable
Run Code Online (Sandbox Code Playgroud)

但是,当我重新插入行时,ID 会从它们停止的地方开始。有没有办法从头开始重新启动Id?

t-sql sql-server-ce

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

获取SQL Server CE和C#中新插入的行的主键?

我正在插入SQL Server CE表,其中主键是自动生成的,在插入完成后如何获取主键?

c# sql compact-framework sql-server-ce

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

SQL Server CE不兼容的数据库版本

我有一个SQL Server CE 4.0数据库(.sdf文件),当我尝试从我的应用程序(WPF)对数据库进行查询时,我收到以下错误.

不兼容的数据库版本.如果这是兼容文件,请运行修复.对于其他情况,请参阅文档.[Db version = 4000000,Requested version = 3505053,File name = \?\ C:\ Database\ShortageReport\MRPDatabase.sdf]

  • 我已经检查过安装了SQL Server CE 4 sp1.
  • 我尝试在Database.Net 4和vs2012中的连接设置中创建数据库.
  • 我正在运行Windows 7 64位
  • 我的连接字符串存储在app.config.

我正在使用SQL Server Compact Toolbox生成上下文和映射.

我的app.config:

<connectionStrings>
    <add name="DatabaseContext" 
         providerName="System.Data.SqlServerCe.4.0" 
         connectionString="Data Source=C:\Database\ShortageReport\MRPDatabase.sdf"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c# wpf sql-server-ce linq-to-sql

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

解析SQL查询时出错

好的,我只是想把最后一条记录输入表中并从中获取一个特定的值.我一直在网上寻找一个可行的方法,以满足我的需求,但我尝试的一切都很短....

我一直在

解析查询时出错.[令牌行号=,令牌行偏移=,令牌错误=]

我最常见的查询是使用ORDER BY语句.

我的表格的键是"索引"而不是"ID"; 我一直在尝试简单的查询

SELECT *
FROM   Departments
WHERE  Valid = @validation
ORDER  BY Index ASC 
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误,说"令牌错误=索引"

现在我有一个我需要运行的查询,它选择表中的最后一条记录并获取它的JobID,它与Index不同.所以我尝试了我的尝试和真实

SELECT TOP (1) *
FROM   TableName
ORDER  BY Index DESC 
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我也可以获得其他数据.但我得到相同的错误代码.

所以我试过了

SELECT MAX(Index)
FROM   TableName 
Run Code Online (Sandbox Code Playgroud)

同样的错误.

无论我尝试什么,它都不想通过索引选择,它被设置为主键,自动增量等....

c# sql sql-server-ce

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

Visual Studio 2015 中的向导中缺少 PostgreSQL 数据提供程序

我花了一天时间尝试将 Entity Framework 6 SQL Server CE 迁移到 PostgreSQL。

我已经很好地复制了数据库,但我似乎无法让数据提供程序正常工作。

首先,我尝试了旧版 2.2.7 版本的 EF 提供程序,它不需要 .NET 4.5(因为我们的项目无法使用它),但这不起作用。我一直在使用NpgsqlConnection而不是SqlConnectionStringBuilder更改 app.config 以具有连接字符串Host(我尝试过,Server但它不喜欢它)和Database值,并确保 EF 部分如下:

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
        <provider invariantName="Npgsql" type="Npgsql.NpgsqlServices, EntityFramework6.Npgsql" />
    </providers>
</entityFramework>
Run Code Online (Sandbox Code Playgroud)

我现在忽略了这个限制,只是为了尝试让它工作,所以我有 EF 提供程序的 EF6 v3.1.1 版本和最新的 .NET 提供程序 (v3.2.2),但它们也不起作用。

为了修复它,我还尝试通过安装 VS2015 扩展将 EDMX 从 SQL Server CE 重新同步到 PostgreSQL 替换,但它只是给出一条消息,指出发生了错误,所以我尝试了以下操作:https://github.com/npgsql/npgsql/issues/1514 进一步打开了窗口,但当我在框中输入内容时就崩溃了。自从将项目升级到.NET 4.5后,这个提供程序就不再出现了......

我已经多次尝试重新安装所有内容并多次重新启动 VS,并且自从升级以来我还尝试安装 GAC 文件,因为不清楚 VS 扩展是否需要它们(也是 v3.2.2)。

有谁能够阐明如何最简单地实现所有这些工作,最好不需要 .NET 4.5?

谢谢

postgresql npgsql sql-server-ce entity-framework-6 visual-studio-2015

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

带有SQL Server CE的未知模块中的System.TypeLoadException

我有一个最初在VS2005中创建的C#windows mobile应用程序,用于创建测试数据库.但是,现在我已将C#代码包含到VS2008项目中并重新设置SQL引用,我收到以下错误:

未知模块中出现未处理的"System.TypeLoadException"类型异常.

附加信息:找不到文件或程序集名称'System.Data.SqlServerCe,Version = 3.5.0.0,Culture = neutral,PublicKeyToken = 3BE235DF1C8D2AD3'或其中一个依赖项.

参考路径似乎很好.有任何想法吗?

谢谢,

.net windows-mobile sql-server-ce

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

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