Средство просмотра отчетов не принимается. EnableDatabaseLogonPrompt имеет значение false. - PullRequest
0 голосов
/ 08 апреля 2011

Я создал отчет.Я использовал соединение ado.net.Я создал набор данных из нового проекта.Я настроил набор данных и вызвал этот набор данных из отчета.в то время все в порядке.И я написал это в коде позади.

Dim Adp As New ClientDsTableAdapters.DataTable1TableAdapter
Dim Rpt As New Client

Rpt.Load(Server.MapPath(Client_FILE))
Rpt.SetDataSource(CType(Adp.GetData(), DataTable))

Client.EnableDatabaseLogonPrompt = False
Client.ReportSource = Rpt

Dim ConnectionInfo As New CrystalDecisions.Shared.ConnectionInfo

ConnectionInfo.ServerName = "MyServer"
ConnectionInfo.DatabaseName = "MyDB"
ConnectionInfo.UserID = "MyUser"
ConnectionInfo.Password = "MyPassword"
ConnectionInfo.Type = CrystalDecisions.Shared.ConnectionInfoType.SQL
ConnectionInfo.AllowCustomConnection = True

For Each TableLogOnInfoVar As TableLogOnInfo In ClientReportViewer.LogOnInfo
    TableLogOnInfoVar.ConnectionInfo = ConnectionInfo
Next

И я установил EnableDatabaseLogonPrompt = "false" в средстве просмотра отчетов.Теперь на первой странице отчета все в порядке.Когда я перехожу на следующую страницу и щелкаю что-либо в окне просмотра отчетов, я получаю сообщение об ошибке.Ошибка заключается в следующем.

Logon failed. Details: crdb_adoplus : Object reference not set to an instance of an object. Error in File 

Как я могу решить эту проблему

1 Ответ

0 голосов
/ 08 апреля 2011

Все ли данные, которые нужны вашему отчету, присутствуют в вашем наборе данных?

CType(Adp.GetData(), DataTable)

Если это так, то вам не нужно устанавливать информацию о соединении, поскольку вы уже отправили все данные в отчет и не должны пытаться запросить дополнительные данные с сервера.

Edit:

ли

Adp.GetData()

получить все данные для отчета? Если это так, удалите весь приведенный ниже код и повторите попытку:

Client.EnableDatabaseLogonPrompt = False

Dim ConnectionInfo As New CrystalDecisions.Shared.ConnectionInfo

ConnectionInfo.ServerName = "MyServer"
ConnectionInfo.DatabaseName = "MyDB"
ConnectionInfo.UserID = "MyUser"
ConnectionInfo.Password = "MyPassword"
ConnectionInfo.Type = CrystalDecisions.Shared.ConnectionInfoType.SQL
ConnectionInfo.AllowCustomConnection = True

For Each TableLogOnInfoVar As TableLogOnInfo In ClientReportViewer.LogOnInfo
    TableLogOnInfoVar.ConnectionInfo = ConnectionInfo
Next
...