2011-02-15 3 views
0

크리스탈 보고서 8.5 및 SQL Server 2005를 사용하는 vb6 응용 프로그램이 있습니다. 내 문제는 보고서를 인쇄 할 때 서버가 아직 열리지 않은 것입니다. 여기에 내 코드가 있습니다. . : 당신이Crystal Report viewer - 서버가 아직 열리지 않았습니다.

은 아마 당신의 사건이 아니라 다른 사람의 도움을보고 데이터를 할당하는로

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 

답변

0

내가 "SetLogOnInfo을"하고 생각하는 것은, 그 경우 innecesary입니다.

servername 매개 변수를 잘못 지정하면 오류가 발생합니다.

(오라클 DB에 대한) I 로그온 사용되는 정확한 매개 변수 :

[...] 항목 (1) .SetLogOnInfo를 "[TNSNAMES]", "", "[dB 사용자] ","[db password] "

+0

dsn을 생성하여 문제를 해결 한 다음 setlogon 정보 용 코드에 입력하면 해결됩니다. – Monshine