1. did you have the proper Oracle client installed on your machine?2. did you give ASPNET permissions to access C:\Oracle\Ora*?

解决方案 »

  1.   

    仔细在网上一搜,不少人碰到同样问题。
    我给aspnet完全控制oci.dll的权限,OK,方向总算对了,页面保错有了变化,如下:
    [Exception: Could not create an environment: OCIEnvCreate returned -1.]
       System.Data.OracleClient.DBObjectPool.GetObject(Boolean& isInTransaction) +477
       System.Data.OracleClient.OracleConnectionPoolManager.GetPooledConnection(String encryptedConnectionString, OracleConnectionString options, Boolean& isInTransaction) +165
       System.Data.OracleClient.OracleConnection.OpenInternal(OracleConnectionString parsedConnectionString, Object transact) +836
       System.Data.OracleClient.OracleConnection.Open() +32现在打算给全部权限aspnet同楼上朋友的建议一致,待会看看效果如何。
      

  2.   

    确实又前进一步,如果方向没错的话,出现新的报错,真是伤神,如下:[OracleException: ORA-12154: TNS: 无法处理服务名
    ]
       System.Data.OracleClient.DBObjectPool.GetObject(Boolean& isInTransaction) +477
       System.Data.OracleClient.OracleConnectionPoolManager.GetPooledConnection(String encryptedConnectionString, OracleConnectionString options, Boolean& isInTransaction) +165
       System.Data.OracleClient.OracleConnection.OpenInternal(OracleConnectionString parsedConnectionString, Object transact) +836
       System.Data.OracleClient.OracleConnection.Open() +32
      

  3.   

    楼上这个错误很明显,是oracle返回的,I checked it。
    问题已经解决,我在oracle9i中,看到c#插入的记录。对问题稍作整理:1、System Requirements for the .NET Framework Data Provider for Oracle
        Prior to running Setup to install the .NET Framework Data Provider for Oracle, you must already have .NET Framework version 1.0 installed on the computer to which you are downloading the provider. If the .NET Framework is not installed, the Setup program for the provider download will fail.The .NET Framework Data Provider for Oracle requires Microsoft Data Access Components (MDAC) 2.6 or later. MDAC 2.7 is recommended.You must also have Oracle 8i Release 3 (8.1.7) Client or later installed.Oracle client software prior to version Oracle 9i cannot access UTF16 databases because UTF16 is a new feature in Oracle 9i. To use this feature, you must upgrade your client software to Oracle 9i or later.
    2、确认Web服务器上的ASPNET账户是否具有足够的权限,因为时间关系,我没有找出来具体那些dll需要分配足够的权限,因此把整个D:\oracle\ora92的权限都给了ASPNET,这样还是有些欠妥。还要再花精力。
    问题我自己一步步解决,此题不派分。