.net 2.0 访问Oracle --与Sql Server的差异,注意事项,常见异常 在.net平台下访问数据库有以下几种方式: 1、OleDB数据库访问程序, 2、ODBC数据库访问程序, 3、专有的数据库访问程序。如:访问Sql Server 2000 时,我们一般喜欢使用专有的SQL Server .NET Framework 数据库访问程序。命名空间为: System.Data.SqlClient 。
在这里我使用第三种,也就是“专有的数据库访问程序”(Oracle .NET Framework 数据库访问程序)访问Oracle数据库 在1.1版本之前 Oracle .NET Framework需要另外下载,.net Framework本身并没有这个组件。 下载地址:
在2.0版本的Framework中已经自带了 Oracle .NET Framework 数据库访问程序。但并不是说有了Oracle .NET Framework 就可以顺利访问Oracle了。 要访问Oracle数据库,除了专有的数据库访问程序,还必须具备以下条件:
必须安装 Oracle 8i Release 3 (8.1.7) 客户端或更高版本。
以下分几点谈谈Oracle数据库访问的细节
经常使用的一些组件 Oracle.NET Framework 数据库访问程序命名空间为: System.Data.OracleClient. 文件名为:System.Data.OracleClient.dll , 位于全局程序集缓存中。默认情况下vs 2005没有引用该组件,需要使用时,只需要添加引用即可。 与SqlClient 类似,OracleClient命名空间下由 OracleConnection ,OracleCommand,OracleDataReader, OracleParameter ,OracleType等组成。以上列出的只是最常用的几个类。更详细的类视图请参考MSDN.
字段类型,参数类型
字段类型一般在使用Parameter是会涉及到。 在Sql Server中我们一般使用SqlDbType 枚举表示数据库中的各种字段类型, 而在Oracle中,使用OracleType。 在Oracle中,字符型的字段经常使用Varchar2 或 Nvarchar2, 而数值型用Number。 Varchar后面多了个2, 没有深入学习Oracle,不知多加的这个“2" 的有什么意义。 在使用参数(Parameter)时. OracleType.Varchar 表示数据库中的 varchar2, OracleType.Nvarchar 表示数据库中的 Nvarchar2, OracleType.Number 表示 Number OracleType.DateTime 表示 Date 至于其他的如:OracleType.Int32 由于在Oracle中没有对应的字段类型,一般使用较小,如果数据库中的Number型字段的值没有小数位,也可以使用OracleType.Int32对应Number.
数据库连接
与SqlConnection类似, 只是连接字符串一般为:User ID=用户名;Data Source=数据库服源名称(Oracel数据库服务名称);Password=密码
下面是我使用的连接字符串: User ID=sea [1] [2] [3] [4] [5] 下一页 |