Crystal Report viewer - сервер еще не открыт - PullRequest
1 голос
/ 15 февраля 2011

У меня есть приложение vb6, использующее Crystal Report 8.5 и SQL Server 2005. Моя проблема в том, что когда я печатаю отчет, я получаю, что Сервер еще не был открыт. Вот мой код в vb.:

Option Explicit
Dim ctr As Integer 
Dim cn As New ADODB.Connection--Provider=SQLOLEDB.1;Password=password;Persist Security Info=True;User ID=user ID;Initial Catalog=database Name;Data Source=server Name
Dim crApp As CRAXDRT.Application
Dim crReport As CRAXDRT.Report
Dim crtable As CRAXDRT.DatabaseTable

Private Sub prin_Click()
  Dim rs As New ADODB.Recordset
  Set cn = New ADODB.Connection
  cn.ConnectionString = MDI1.txtado
  cn.Open
  Set rs = New ADODB.Recordset
  rs.Open "select * from temp_abs_yes", cn, adOpenKeyset, adLockOptimistic
  Set crApp = New CRAXDRT.Application
  Set crReport = crApp.OpenReport("C:\Users\user1.dom\Desktop\ANP\abs_yes.rpt")
  crReport.Database.Tables.Item(1).SetLogOnInfo "servername", "databasename", "user", "password"
  crReport.Database.Tables.Item(1).SetDataSource rs, 3
  crReport.DiscardSavedData
  Viewer.ReportSource = crReport
  Viewer.ViewReport
  rs.close
  Set rs = Nothing
  Set crReport = Nothing
  Set crApp = Nothing
End Sub

Ответы [ 2 ]

0 голосов
/ 14 марта 2018

Я решил, обновив dll

p2soledb.dll

в c: \ Windows \ Crystal Я получил подробности здесь

0 голосов
/ 06 мая 2011

Я думаю, что выполнение "SetLogOnInfo" в этом случае является ненужным, поскольку вы назначаете данные для отчета

Возможно, это не ваш случай, но для помощи кого-то другого.

IЯ получил эту ошибку, когда я неправильно назначил параметр servername.

Правильные параметры, которые я использовал для входа в систему (для базы данных Oracle):

[...] Item (1) .SetLogOnInfo " [tnsnames]"," "," [пользователь БД]"," [пароль БД]"

...