首页 新闻 会员 周边

SqlCeConnection与SqlConnection 具体的区别及使用场景是什么?

0
悬赏园豆:50 [已解决问题] 解决于 2015-01-08 10:14

这两个我在MSDN已看过定义,不知道各位大侠在实际项目的使用场景没有用过这两个?区别是什么?

问题补充:

之所以提出这个问题,是在看Dapper的代码的时候,Dapper的实现基本上都是用SqlCeConnection去实例化数据库连接对象的,所以就比较奇怪为什么不用SqlConnection去实例化?

落叶飞逝的恋的主页 落叶飞逝的恋 | 初学一级 | 园豆:118
提问于:2015-01-07 18:30
< >
分享
最佳答案
0

SqlConnection与SqlCeConnection的区别
1.SqlConnection提供了更安全的方式指定来使用Sql Server身份验证的尝试密码
2.SqlConnection的可以处理T-Sql的语句
3.SqlConnection可以异步操作任务
...
总结:SqlConnection除了实现SqlCeConnection的功能,还扩展了其他的功能。所以目前都在使用SqlConnection,而SqlCeConnection在2010版本之后就没在更新。

落叶飞逝的恋 | 初学一级 |园豆:118 | 2015-01-08 10:13
其他回答(3)
0

CE: Windows CE,这是一种远古动物,目前已列入国家二级珍稀保护动物之列,普通人普通场景下是看不到这种动物的。

所以你可以不用理他。

收获园豆:20
爱编程的大叔 | 园豆:30839 (高人七级) | 2015-01-07 19:44

这里的CE不是Windows CE哦~

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2015-01-08 08:51

@幻天芒: 原来的设计就是用在Windows CE上的。

Windows CE上可以安装一个SQL 引擎的,不过用处不大。

一般处理上,要么是直接保存为文本或XML文件,

要么就是直接连接到服务器上的数据库了,这个就是直接使用SqlConnection了,我去年做过一个PDA的项目。就是直接连接到PC服务器的。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2015-01-08 08:57

@爱编程的大叔: 大哥,麻烦看下我的问题补充,请指教!

支持(0) 反对(0) 落叶飞逝的恋 | 园豆:118 (初学一级) | 2015-01-08 09:35

@爱编程的大叔: 好吧,,,不过现在CE适用范围更广了嘛。

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2015-01-08 09:43

@幻天芒: 估计只有微软死忠粉才会在不用WINDOWS CE的时候才安装SQL COMPACT吧。

就算是我除了微软啥都不懂的情况,我也会用Sqlite而不是SQL COMPACT的。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2015-01-08 09:57

@爱编程的大叔: 表示我也用Sqlite的路过...

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2015-01-08 10:05
0

这里的SqlCe是针对MS的SQL Server Compact数据库。这是个文件数据库,实现了部分sql server的功能。你把它们当成两个不同的数据库连接实现就可以了。类似的还有OleDbConnection等。

收获园豆:20
幻天芒 | 园豆:37175 (高人七级) | 2015-01-08 08:53

你这个对比的例子不妥,因为 OleDbConnection 可以作为 Sql Server 服务器的客户端,而 SqlCeConnection 不行。同 SqlCeConnection 类似的是 OracleConnection,SqlliteConnection。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2015-01-08 09:15

大哥,麻烦看下我的问题补充,请指教!

支持(0) 反对(0) 落叶飞逝的恋 | 园豆:118 (初学一级) | 2015-01-08 09:36

@Launcher: 大哥,麻烦看下我的问题补充,请指教!

支持(0) 反对(0) 落叶飞逝的恋 | 园豆:118 (初学一级) | 2015-01-08 09:36

@落叶飞逝的恋: 每种语言的初级教程都用输出"hellow world"作为例子,你就不奇怪为什么不用"hellow 落叶飞逝的恋"吗?

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2015-01-08 09:39

@Launcher: 嗯。 可能有点不太准确,我是想说这个其实就是另外一种类型数据库的连接实现。

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2015-01-08 09:43

@落叶飞逝的恋: 你确定你看的是核心代码?我估计你看的是SqlCe的DbProvider吧。

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2015-01-08 09:51

@Launcher: 我知道你的意思,我也明白这个是数据库连接,就正如他用"hello 落叶飞逝的恋" 而不用正常的"hello world" ?还有就是我们一般为什么不用Sqlceconnection 而用SqlConnection?

支持(0) 反对(0) 落叶飞逝的恋 | 园豆:118 (初学一级) | 2015-01-08 09:52

@落叶飞逝的恋: 你看的是Dapper的示例,那里面确实用了SqlCEConnection,

SqlCEConnection是用于连接SQL Compact的,你知道这个就行了。

 

Dapper的核心代码还是用的SqlConnection的,我刚刚看了一下。 

不过Dapper我不熟悉,没有全部代码研究过,就是有下载了一个看看。

有个家伙比较熟悉Dapper,估计这两天没空。

支持(0) 反对(0) 爱编程的大叔 | 园豆:30839 (高人七级) | 2015-01-08 10:09

@落叶飞逝的恋: 如果你要用 SqlConnection 写示例程序,你是不是要安装 Sql Server 服务器?而如果用 SqlCeConnection,你是不是就不用安装 Sql Server 服务器了?别人要是使用你用 SqlConnection 写的示例程序,是不是还得安装个 Sql Server 服务器才能运行?为了让学习者不用安装 Sql Server 服务器,也不用配置数据库连接字符串,编译示例程序后就能直接运行以体验 Dapper 的诸多功能,使用 SqlCeConnection 是不是最佳的选择?所以使用 SqlCeConnection 写示例程序就是为了满足你这样的用户的需求,免得你们一拿到程序后运行不起来就问:

1、为啥报错啊?

2、啥?还要安装 Sql Server 服务器?

3、我安装了啊,怎么还运行不了?

4、哦!还要配置连接字符串?

5、配置了也不行啊?

6、哦!还要打开防火墙端口哦啊!

7、还是不行啊?

8、哦!Sql Server Express 不允许远程连接。

....

n、终于运行起来了。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2015-01-08 10:12

@爱编程的大叔: 哪个大神?求指教。自己功力还不深厚,看Dapper的怎么实现还是比较吃力。。。

支持(0) 反对(0) 落叶飞逝的恋 | 园豆:118 (初学一级) | 2015-01-08 10:21

@Launcher: 嗯,谢谢!

支持(0) 反对(0) 落叶飞逝的恋 | 园豆:118 (初学一级) | 2015-01-08 10:27

@Launcher: 佩服~~~!想得好周到~

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2015-01-08 15:32
0

楼上说的对

收获园豆:10
WesternWind | 园豆:7 (初学一级) | 2015-01-08 09:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册