某台计算机是WIN 2000 SERVER,在其上安装了oracle 92
上次我在将程序移植到该计算机上时出现“未在本地计算机上注册OraOLEDB.Oracle服务提供程序”的
错误,于是,我在ORACLE官方网站上下载了ODAC92070.exe并进行了安装。问题随即解决。
但现在却出现了新的问题,我在VB.net中能够连接到oracle数据库,在ASP.net中却不能,并且出现的
错误是乱码("8>?"),现在郁闷得很,我自己的计算机上运行正常,换一台计算机就出现这种问题。以下代码是oracle提供的DEMO片段,在VB.net中运行正常即使故意让它出错,错误中文显示,并没有乱码。
Module ConnectionParams Public datasource As String
Public username As String
Public password As String Public Sub setparams()
'Parameters for database connection
'Change the values to those applicable to your database 'Replace with Connect String as TNSNames
datasource = "myoracle"
'Username
username = "scott"
'Password
password = "tiger"
End SubEnd ModuleImports System.IO
Imports System.Data.OleDbClass ViewProductsFrm
Inherits Form Private Sub ViewProductsFrm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load 'redirect to error handler
On Error GoTo ErrorText 'Step 1.
'set connection parameters in connectionParams.vb module
ConnectionParams.setparams() 'set provider and connection parameters for database connection
'get the connection parameters from connectionParams.vb file
Dim connectionString As String = "Provider=OraOLEDB.Oracle" & _
";Data Source=" + ConnectionParams.datasource & _
";User ID=" + ConnectionParams.username & _
";Password=" + ConnectionParams.password & _
";OLEDB.NET=true" 'using OLEDB .Net Data Provider features 'Connection to datasource, using connection parameters given above
conn = New OleDbConnection(connectionString) 'Open database connection
conn.Open() 'Step 2.
'Instantiate OleDbDataAdapter to create DataSet
Dim productsAdapter As OleDbDataAdapter = New OleDbDataAdapter() 'Fetch Product Details
productsAdapter.SelectCommand = New OleDbCommand("Select * from sys.products", conn) 'In-Memory cache of data
Dim productsDataSet As DataSet = New DataSet("productsDataSet") 'Step 3.
'Fill the dataset
productsAdapter.Fill(productsDataSet, "Products") 'Step 4
'setting 'productsDataSet' as datasouce and 'Products' table
'as the table to which the 'productsDatagrid' is Bound.
productsDataGrid.SetDataBinding(productsDataSet, "Products") If (Not Err.Number = 0) Then
ErrorText: 'error handler
MsgBox("Source :" + Err.Source + " Description :" +Err.Description, , "Error")
End
End If
End Sub Private Sub CloseBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CloseBtn.Click On Error GoTo ErrorText 'redirect to error handler conn.Close()
Application.Exit() If (Not Err.Number = 0) Then
ErrorText: 'error handler
MsgBox("Source :" + Err.Source + " Description :" +Err.Description, , "Error")
End
End If
End SubEnd Class下面是ASP.net中的VB代码,执行时出现错误,且错误是乱吗:
Public Function myFunction() As Boolean
On Error GoTo ErrorHandler
Dim Cnn As OleDbConnection
Dim Da As OleDbDataAdapter
Dim Ds As DataSet Cnn = New OleDbConnection
Cnn.ConnectionString = "Provider=OraOLEDB.Oracle;" & _
"User ID=scott;" & _
"Password=tiger;" & _
"Data Source=myoracle;" & _
"Persist Security Info=False;"
Cnn.Open()
.... Ds.Dispose()
Da.Dispose()
Cnn.Dispose() Return TrueErrorHandler: Response.Write("Error:" & Err.Description)End Function我不知道那里出现问题了,请大家帮忙解决一下。
上次我在将程序移植到该计算机上时出现“未在本地计算机上注册OraOLEDB.Oracle服务提供程序”的
错误,于是,我在ORACLE官方网站上下载了ODAC92070.exe并进行了安装。问题随即解决。
但现在却出现了新的问题,我在VB.net中能够连接到oracle数据库,在ASP.net中却不能,并且出现的
错误是乱码("8>?"),现在郁闷得很,我自己的计算机上运行正常,换一台计算机就出现这种问题。以下代码是oracle提供的DEMO片段,在VB.net中运行正常即使故意让它出错,错误中文显示,并没有乱码。
Module ConnectionParams Public datasource As String
Public username As String
Public password As String Public Sub setparams()
'Parameters for database connection
'Change the values to those applicable to your database 'Replace with Connect String as TNSNames
datasource = "myoracle"
'Username
username = "scott"
'Password
password = "tiger"
End SubEnd ModuleImports System.IO
Imports System.Data.OleDbClass ViewProductsFrm
Inherits Form Private Sub ViewProductsFrm_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load 'redirect to error handler
On Error GoTo ErrorText 'Step 1.
'set connection parameters in connectionParams.vb module
ConnectionParams.setparams() 'set provider and connection parameters for database connection
'get the connection parameters from connectionParams.vb file
Dim connectionString As String = "Provider=OraOLEDB.Oracle" & _
";Data Source=" + ConnectionParams.datasource & _
";User ID=" + ConnectionParams.username & _
";Password=" + ConnectionParams.password & _
";OLEDB.NET=true" 'using OLEDB .Net Data Provider features 'Connection to datasource, using connection parameters given above
conn = New OleDbConnection(connectionString) 'Open database connection
conn.Open() 'Step 2.
'Instantiate OleDbDataAdapter to create DataSet
Dim productsAdapter As OleDbDataAdapter = New OleDbDataAdapter() 'Fetch Product Details
productsAdapter.SelectCommand = New OleDbCommand("Select * from sys.products", conn) 'In-Memory cache of data
Dim productsDataSet As DataSet = New DataSet("productsDataSet") 'Step 3.
'Fill the dataset
productsAdapter.Fill(productsDataSet, "Products") 'Step 4
'setting 'productsDataSet' as datasouce and 'Products' table
'as the table to which the 'productsDatagrid' is Bound.
productsDataGrid.SetDataBinding(productsDataSet, "Products") If (Not Err.Number = 0) Then
ErrorText: 'error handler
MsgBox("Source :" + Err.Source + " Description :" +Err.Description, , "Error")
End
End If
End Sub Private Sub CloseBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CloseBtn.Click On Error GoTo ErrorText 'redirect to error handler conn.Close()
Application.Exit() If (Not Err.Number = 0) Then
ErrorText: 'error handler
MsgBox("Source :" + Err.Source + " Description :" +Err.Description, , "Error")
End
End If
End SubEnd Class下面是ASP.net中的VB代码,执行时出现错误,且错误是乱吗:
Public Function myFunction() As Boolean
On Error GoTo ErrorHandler
Dim Cnn As OleDbConnection
Dim Da As OleDbDataAdapter
Dim Ds As DataSet Cnn = New OleDbConnection
Cnn.ConnectionString = "Provider=OraOLEDB.Oracle;" & _
"User ID=scott;" & _
"Password=tiger;" & _
"Data Source=myoracle;" & _
"Persist Security Info=False;"
Cnn.Open()
.... Ds.Dispose()
Da.Dispose()
Cnn.Dispose() Return TrueErrorHandler: Response.Write("Error:" & Err.Description)End Function我不知道那里出现问题了,请大家帮忙解决一下。
解决方案 »
- recover database until cancel问题
- 求助!!Oracle里如何判断NULL?
- 求教:这个语句怎么优化
- 1位数月份的问题(在线等待,马上结账送分)
- SQL语句求助:在分组的结果中取每组中的某一字段最大或最小的一条记录并成的结果
- 请教,怎样在oracle 中用什么函数可以把 varchar型的数据为2004/12/02 上午 10:47:08 转成 日期型,以便我做查询比较.谢谢
- 关于两个表之间的constraint定义的问题!!
- 逐行触发器中怎样知道哪些列被修改了?
- 请问Oracle8.0以上是否就是8i?
- 加了 别名 后正确,去掉就报错
- 日期转换的问题
- 在update的时候,怎么让别的表条件也要满足的时候才能执行呢?
我的计算机上VB.NET和ASP.net连接都没有问题。况且并不是远程连接。
搞怪的是,我将程序放到另一台WIN2000 SERVER上VB.net连接ORACLE没有问题
但ASP.net却出问题了。ASP.net连接其他数据库没有问题,惟独连接ORACLE时
出现了错误,并且错误还是乱码。晕!
该怎么处理啊,是不是ORACLE数据库安装或配置有问题?!