某台计算机是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我不知道那里出现问题了,请大家帮忙解决一下。

解决方案 »

  1.   

    你用的什么IDE,在visual studio 2005 免费版本是不可连接远程数据库的
      

  2.   

    visual studio 2003
    我的计算机上VB.NET和ASP.net连接都没有问题。况且并不是远程连接。
    搞怪的是,我将程序放到另一台WIN2000 SERVER上VB.net连接ORACLE没有问题
    但ASP.net却出问题了。ASP.net连接其他数据库没有问题,惟独连接ORACLE时
    出现了错误,并且错误还是乱码。晕!
    该怎么处理啊,是不是ORACLE数据库安装或配置有问题?!
      

  3.   

    友情检分, 这该放到ASP版块去啊