首页 文章

无法连接到Crystal Reports 2008

提问于
浏览
3

我正在用C#将pdf的水晶报告导出为pdf .

晶体报告使用odbc连接到sql server 2008 .

我想在不同的系统中部署它 . 如果db名称相同,它可以工作 .

有没有办法动态提供数据库名称 . 我试过了

repDoc.SetDatabaseLogon(db_username,db_password,server,db);

它失败并出现以下错误

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 ]

3 回答

  • 1

    好消息/坏消息:坏消息是您不能使用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 .

  • 3

    听起来您的数据库服务器没有配置NT和SQL身份验证 . 或者您可以使用对目标数据库具有访问权限的sa用户 .

  • 1

    对于Windows 7,请尝试通过以管理员身份运行来安装应用程序,并将run作为管理员兼容性设置为exe . 要将Run作为管理员兼容性设置为exe,请右键单击exe,然后转到属性 - >兼容性,选中“以管理员身份运行”复选框,然后单击“确定” .

相关问题