昨天还是正常的,今天不知道啥回事,一直连不上。Connection.open()就报错:
{"OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用。"}
跟踪如下:
在 System.Data.OracleClient.OciHandle..ctor(OciHandle parentHandle, HTYPE handleType, MODE ocimode, HANDLEFLAG handleflags)
在 System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String userName, String password, String serverName, Boolean integratedSecurity, Boolean unicode, Boolean omitOracleConnectionName)
在 System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString connectionOptions)
在 System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
在 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data.OracleClient.OracleConnection.Open()
搜了不少帖子,基本都说要修改oracle文件夹的权限,已经修改了还是不行。是不是缺失了某些dll文件造成的?因为今天早上开机发现oci.dll文件突然没了,后来重新装了oracle客户端。
System.Data.OracleClient就可以的了
到oracle下载对应的.net客户端odp就可以了。一般要安装两个才不会有问题。
那就是配置问题了,楼主重点检查一下配置。以管理员身份运行试试