2013-02-11 3929 views
2

我已經使用SQL Server AMO命名空間在語法上創建了一個SSAS數據庫。它已成功創建。但是當我要使用數據源的BIDS來瀏覽數據時它提示這樣的錯誤,ORA-01005:給出的空密碼;登錄被拒絕

ORA-01005:給出的空密碼;登錄否認

我的連接字符串是

@"Provider=OraOLEDB.Oracle.1;Data Source=//cmbtrndb02/hector;Password=trnint16;User ID=trnint16;Intergrated Security=yes"; 

我已經使用了ConnectionStringSecurity屬性爲「不變」,但它給出了同樣的錯誤。

ds.ConnectionStringSecurity = ConnectionStringSecurity.Unchanged; 

這可能是什麼問題。

+1

這裏有些東西搞砸了:你說你使用的是SQL Server(組件),但是這裏有一個ORACLE錯誤消息(和連接字符串)。請儘量糾正這一點。 – 2013-02-11 12:54:58

+0

我正在創建一個針對oracle數據庫的數據模型,這就是爲什麼它彈出Oracle提供商的錯誤 – KalG 2013-02-13 05:48:21

+0

嗯,奇怪的是,你指定「用戶名/密碼」和「集成安全=是」(我會有在這裏使用「True」或「SSPI」,但無論如何)。 – 2013-02-13 07:43:06

回答

0

當您使用objcon.connectstring時,新的連接對象正在丟失密碼。也許你正在讀取代碼中連接對象(=沒有密碼)的連接字符串,而不是提供包括密碼在內的完整連接字符串。

0

你只需要包括密碼在ConnectionString如下: 如果您的用戶名是卡爾和你的密碼是bullet56則:

的connectionString =「數據源=本地主機;用戶ID = carl; Unicode = True; Password = bullet56

希望這會對您有所幫助。

2

如果由於某種原因,您確實需要從其他連接中獲取連接字符串,例如user2306318引用,則需要在連接字符串中添加「Persist Security Info = True」選項。

4

老的文章,但也許​​這可以幫助別人了(就像它幫助我):

如果您使用「System.Data.Entity.Infrastructure」你的項目(也許你正在鑄造的DbContext到ObjectContext的出於某種原因?)你會得到這個錯誤(ORA-01005)。

正如我最終發現的,只需在「Oracle.ManagedDataAccess.Client」的字符串連接上添加「Persist Security Info = true」即可輕鬆避免它。

+0

這是一個真正的問題解決方案。 – 2017-03-14 06:49:19