现在正在为一个ASP.Net的项目做技术准备。语言使用VB.Net,数据库选用Oracle。
由于对数据库的认识比较肤浅,所以在选择Provider时犯了难。
排除掉Jet和ODBC,根据我有限的所知,大概还可以选用以下几种:
1。Microsoft OLE DB Provider for Oracle
2。Oracle Provider for OLE DB
3。Oracle Data Provider for .Net (ODP.Net)
4。Oracle Object for OLE DB (OO4O)
5。......(当然还有其他许多可选,知识有限,列举不出来了。)
请各位大虾指点一下,选用何种比较好呢?
如给出详细讲解,不盛感激。ps:
给出建议者有分!
给出资料者有分!
共同关注者有分!
友情UP~~者有分!
由于对数据库的认识比较肤浅,所以在选择Provider时犯了难。
排除掉Jet和ODBC,根据我有限的所知,大概还可以选用以下几种:
1。Microsoft OLE DB Provider for Oracle
2。Oracle Provider for OLE DB
3。Oracle Data Provider for .Net (ODP.Net)
4。Oracle Object for OLE DB (OO4O)
5。......(当然还有其他许多可选,知识有限,列举不出来了。)
请各位大虾指点一下,选用何种比较好呢?
如给出详细讲解,不盛感激。ps:
给出建议者有分!
给出资料者有分!
共同关注者有分!
友情UP~~者有分!
Public Sub ConnectToOracle()
Dim conn As New OracleClient.OracleConnection()
' TODO: Modify the connection string and include any
' additional required properties for your database.
conn.ConnectionString = & _
"Data Source=<oracle data source name>;Integrated Security=yes"
Try
conn.Open()
' Insert code to process data.
Catch ex As Exception
MessageBox.Show("Failed to connect to data source")
Finally
conn.Close()
End Try
End Sub//用 OracleClient.OracleConnection()
专门为 oracle 的,性能应该最好吧...其它的性能可能会差些.....
我自己也找了些资料,贴出来,自己顶一下先。
http://www.oracle.com/technology/tech/windows/ole_db/htdocs/oledbfov10g.html
http://msdn.microsoft.com/data/default.aspx?pull=/library/en-us/dnadonet/html/ODPvsMSDP.asp
2。Oracle Data Provider for .Net (ODP.Net)对Oracle,仅上面两个在.net Framework.
给出来一个sample:
Dim cnn As Oracle.DataAccess.Client.OracleConnection = new OracleConnection();
cnn.ConnectionString = "Data Server=yourdataservername;" &_
"User ID=yourUserID;" &_
"Password=yourUserPassword;" &_
"Connection TimeOut=30;"
'(这里不需要给出Provider,因为实例化已经给出了这个Provider.)
Microsoft OLE DB Provider for Oracle
和
Oracle Data Provider for .Net (ODP.Net)因为这两个都得装才能正常连接到数据库。
用连接配置器配好Oracle的连接
然后用OracleClient命名空间就行了
连接方法类似于SqlServer
我确定:
1。Microsoft OLE DB Provider for Oracle
2。Oracle Provider for OLE DB
都可以在.Net Framework中连接Oracle。只是连接串不同。给出例子:
'Oracle Provider for OLE DB --> Provider=OraOLEDB.Oracle;Password=green;Persist Security Info=True;User ID=green;Data Source=ora9db;Extended Properties=""
'Microsoft OLE DB Provider for Oracle --> Provider=MSDAORA.1;Password=green;User ID=green;Data Source=ora9db我比较关心OO4O与.Net的兼容。(因为 1:我一直没有查到相关资料。网上给出的例程都不能正常连接。2:虽然我在.Net project中追加了OO4O的reference,但未在包中找到可用的类,比如VB中常用的OracleInProcServer.XOraSession)To:mywebcom(我)
谢谢您给出的例子。我的第一反应也是要使用ODP.Net。
关于.Net连接Oracle的数据提供者(Provider)的选择,目前优先考虑的有5个可选项:
- Provider --- NameSpaces
1.Microsoft OLE DB Provider for Oracle ---> System.Data.OleDb
2.Oracle Provider for OLE DB ---> System.Data.OleDb
3.Microsoft .NET Framework Data Provider for Oracle ---> System.Data.OracleClient
4.Oracle Data Provider for .Net (ODP.Net) ---> Oracle.DataAccess
5.Oracle Object for OLE DB (OO4O) ---> OracleInProcServer其中,5的可行性未经过验证(我还不确定ASP.Net是否可以通过OO4O连接Oracle)。
而3/4是我个人比较倾向的选择。
MSDN的文档中说:3)Microsoft data provider与Visual Studio .NET IDE的结合更紧密;4)ODP.Net则实现了更多的Oracle特性。参照: http://msdn.microsoft.com/data/default.aspx?pull=/library/en-us/dnadonet/html/ODPvsMSDP.asp请各位大虾继续指教:
1) ASP.Net是否可以通过OO4O连接Oracle ? 如果可以,如何连?
2) 以上哪种Provider 的性能最佳 ?
3) 如果要考虑安全性、可移植性、开发速度、技术支持等等,哪种Provider 最佳?分不够我可以再开贴散分。
请不吝赐教。谢谢。
比较好,微软提供的东西有连续性。4.Oracle Data Provider for .Net 也不错,但个人认为那不是个好的选择,因为你要根据两个厂商的定义来做代码。
希望有大虾给出更详细的说明。特别是关于 <<ASP.Net是否可以通过OO4O连接Oracle ? 如果可以,如何连?>>
ps:谢谢 huiqi2001(改变2004) 的提示。你的话给了我很多启发。
谢谢各位的指教。我决定使用
3.MSDP ---> System.Data.OracleClient 和
4.ODP.Net ---> Oracle.DataAccess
分别做实现,然后比较性能。从资料来看,应该是ODP.Net要好一些。ASP.Net通过OO4O连接Oracle 的问题还没有解决。我会另开贴提问。这里结贴先。再次谢谢各位。