2011-12-11 58 views
1

我试图实现一个系统,我的C#程序可以将值插入到SQLite数据库,我的移动android应用程序可以检索SQLite中的数据。请注意,其中三个不在同一台PC中。有人可以告诉我它会在概念上起作用吗?C#,Android和SQLite是否可以一起工作?

P/S:我是C#,SQLite和Android的新手。

+1

为什么不呢?只要您使用的通讯协议不是平台特定的,它应该没问题。基于HTTP的XML或JSON(也许是SOAP,也许是REST)可以简化平台中立的机制。 –

+0

我对此很怀疑,因为我读了一本书,指出SQLite不是客户端/服务器数据库,这就是为什么我担心它。感谢您的好意。 – Derek

回答

0

关于OP的评论:

我读了一本书,指出SQLite是不是在客户端/服务器数据库

SQLite是不是“客户端/服务器”程序必须访问SQLite数据库文件直接通过SQLite驱动程序,而不需要中介服务器(例如MySQL/MSSQL/Oracle)。因此,您的C#和Android应用程序都需要通过网络文件系统访问SQLite数据库,否则您需要另一个具有文件系统访问权限的程序,并且这两个远程程序可以通话;就机智而言,你必须编写自己的“服务器”。

更新:为了解决您的评论,不,我的意思是这些数据库系统已经服务器,作出处理来自远程客户端数据库请求。 SQLite不会 - 您可以通过使用SQLite驱动程序直接与数据库文件进行交互来访问它;因此需要文件系统访问。因此,如果您的C#或Android应用程序不能直接访问SQLite文件,您将需要一些中介程序,并且该程序必须与您的C#和Android应用程序交谈。

+0

我有点愚蠢,所以,你的意思是说,SQLite必须与任一服务器(MySQL/MSSQL/Oracle)一起工作,以便C#和Android应用程序可以远程访问SQLite? – Derek

1

概念上它可以工作。您必须将SQLite数据库托管在远程计算机上,以便C#应用程序和Android应用程序可以从不同的地方访问。

关于数据库的好处在于它们不是为了只使用某种语言而构建的。任何具有内置或通过第三方的编程语言,以及连接到正在使用的数据库类型的方式都可以使用它;但是您必须意识到操作系统的差异。存储在数据库中之后,从不同操作系统传输的两个看起来相同的值可能会稍有不同。例如,Windows与Linux上的新行字符略有不同。

+0

感谢您的建议,这对我很有用。 – Derek

相关问题