2011-08-22 144 views
3

我在C#中將水晶報表2008導出爲pdf。無法連接到水晶報表2008

Crystal報表使用odbc連接到sql server 2008。

我想在不同的系統中部署它。它在db名稱相同的情況下工作。

有沒有辦法動態地提供數據庫名稱。我試圖

repDoc.SetDatabaseLogon(db_username,DB_PASSWORD,服務器,分貝);

,也未能與下面

Logon failed. 
Details: [Database Vendor Code: 18456 ]Database Connector Error: ' [Database Vendor Code: 18456 ]'Failed to open the connection. 
Details: [Database Vendor Code: 18456 ]Error in File denial_completed_letters {84E1BDEF-C60B-46E1-9080-77F699692270}.rpt: 
Unable to connect: incorrect log on parameters. 
Details: [Database Vendor Code: 18456 ] 
+0

它如何失敗? –

+0

使用錯誤消息編輯 –

+0

嘗試打開具有相同參數的SqlConnection以刪除不正確的參數。 –

回答

3

好消息/壞消息的錯誤:壞消息是,你不能使用SetDatabaseLogon更改數據庫名稱。好消息是,你可以使用其他功能,ApplyLogOnInfo做到這一點:

http://msdn.microsoft.com/en-us/library/cc411352(v=VS.90).aspx http://msdn.microsoft.com/en-us/library/ms226184(v=VS.90).aspx

只需從Table.LogOnInfo構造函數獲取登錄信息,更改這些值並調用ApplyLogOnInfo。

+0

謝謝克里斯。但仍然沒有運氣。 –

+0

錯誤消息是否更改? –

+0

沒有。相同的消息 –

1

聽起來像您的數據庫服務器沒有配置爲NT和SQL身份驗證。 或者您可以使用sa用戶訪問目標數據庫。

1

對於Windows 7,嘗試以管理員身份運行安裝應用程序,並設置以管理員身份運行兼容性exe文件。要設置以管理員身份運行兼容性exe文件右鍵單擊該exe然後去屬性 - >兼容性,檢查以管理員身份運行復選框,然後單擊確定。