比较c#中sql server和ms访问的数据类型
Posted
技术标签:
【中文标题】比较c#中sql server和ms访问的数据类型【英文标题】:comparing data type of sql server and ms access in c# 【发布时间】:2011-12-10 04:26:03 【问题描述】:有什么方法可以比较两个不同数据库的数据类型。
【问题讨论】:
建议:使用单一数据提供者(OleDB)读写不同数据库的行。 我不能只使用 OleDb 提供程序来读写不同的数据库,因为它与 64 位操作系统存在兼容性问题。 您想使用哪个提供商来访问 Ms-Acces?是 ODBC 吗? 对于访问它是 ODBC,对于 Oracle 和 SqlServer 它是 ADO.NET。 同时在 OLE DB 上进行整合是个坏主意,因为 Microsoft 正在淘汰 SQL Server 中的 OLE DB。 【参考方案1】:Jet Engine (Access) | Sql-Server | C#
--------------------+-------------------------------------+--------------------
Text (len < 256) | char, nchar, varchar, nvarchar | string
Memo | text, ntext, the above with len>255 | string
Byte | tinyint | byte
Integer | smallint | short
Long Integer | integer (int) | int
Single | real | float
Double | float | double
Replication ID | uniqueidentifier | Guid
Decimal | decimal | decimal
Date/Time | smalldatetime, datetime, datetime2 | DateTime
Binary (8 bytes)| timestamp, rowversion (Since V2008) | byte[] (8 bytes)
Currency | smallmoney, money | decimal
AutoNumber | int + identity property | int
Yes/No | bit | bool
OLE Object | image | byte[]
Hyperlink | <no equivalent> | string
<no equivalent> | binary, varbinary | byte[]
我从How to Migrate from Access to SQL Server 2000 获取了这些信息并添加了 c# 列。
还要注意,大多数类型在数据库中都是可以为空的。将可空列映射到 C# 中的 Nullable<T>
(T?
),除非 .NET 类型是引用类型。
【讨论】:
感谢 Olivier,我会使用它,然后让您知道它是否适合我。以上是关于比较c#中sql server和ms访问的数据类型的主要内容,如果未能解决你的问题,请参考以下文章
C# 的哪种数据类型相当于 SQL Server 中的钱? [复制]
使用 c# 将 MS Access 表数据添加到 SQL Server 表中