我已经使用SQL Server AMO命名空间从语法上创建了SSAS数据库。它已成功创建。但是,当我要使用数据源的BIDS探索数据时,会提示这样的错误,
ORA-01005:给出的密码为空;登录被拒绝
我的连接字符串是
@"Provider=OraOLEDB.Oracle.1;Data Source=//cmbtrndb02/hector;Password=trnint16;User ID=trnint16;Intergrated Security=yes";
我已将ConnectionStringSecurity属性用作“未更改”,但它给出了相同的错误。
ds.ConnectionStringSecurity = ConnectionStringSecurity.Unchanged;
这可能是什么问题。
[旧文章,但也许这可以帮助某人(就像它帮助了我):
如果您在项目上使用“ System.Data.Entity.Infrastructure”(也许由于某种原因而将DbContext强制转换为ObjectContext?),则会收到此错误(ORA-01005)。
我终于发现,只需在“ Oracle.ManagedDataAccess.Client”的字符串连接上添加“ Persist Security Info = true”,就可以轻松避免这种情况。
如果出于某种原因确实需要从其他连接中获取连接字符串,如user2306318所指,则需要在连接字符串中添加选项“ Persist Security Info = True”。
您只需要在连接字符串中包括密码,如下所示:如果您的用户名是carl,密码是bullet56,则:
connectionString =“ Data Source = LocalHost;用户ID = carl; Unicode = True; Password = bullet56”
希望这会有所帮助。
当您使用objcon.connectstring时,新的连接对象将丢失密码。也许您正在从代码中某处的连接对象(=无密码)中读取连接字符串,而不是提供包括密码在内的完整连接字符串。
例如
gacutil / u策略。2.102。Oracle.DataAccess
设置版本程序集
我在使用oracle 19c的春季引导中遇到了相同的错误,我只是将jdk版本更改为最新版本,即13,它解决了我的问题。