我已经在vb.net中编写了一个计划书和发票打印程序。我可以通过我的软件连接到我的vps mysql(mariadb)数据库,一切正常(添加/更新/删除字符串)。但我也需要从数据库中收集数据来打印发票。为了制作这个,我使用的是Crystal Reports XI Release 2。我需要将Crystal Reports连接到我的在线MySQL数据库,该数据库位于我的VPS中,以便获取数据并准备好打印发票。
Crystal Reports的连接选项包括:
Access/Excel(DAO)
ADO.NET(XML)
数据库文件
Exchange 5.5邮件跟踪日志
Exchange邮件跟踪日志
旧式交易所
邮箱管理员
ODBC(RDO)
联机分析处理
OLE数据库(ADO)
Microsoft Jet 4.0 OLE DB提供程序
Microsoft Office 12.0 Access数据库引擎
用于分析服务的Microsoft OLE DB提供程序
微软OLE DB提供索引服务
用于ODBC驱动程序的Microsoft OLE DB提供程序
用于Oracle的Microsoft OLE DB提供程序
用于搜索的Microsoft OLE DB提供程序
提供程序
Microsoft OLE DB简单提供程序
数据形状
用于Microsoft目录服务的OLE DB提供程序
SQL Server本机客户端11.0
展望/交易所
公用文件夹ACL
公用文件夹管理
公用文件夹副本
宇宙
XML格式
我尝试通过以下步骤连接到Crystal Reports中的VPS数据库:
在“数据库专家”菜单中,我选择“OLE DB(ADO)”,然后选择“Microsoft OLE DB Provider for SQL Server”。然后它问我服务器,用户id,密码,数据库。我正在填写字段,但当我尝试选择数据库时,它什么也不显示。当我将数据库字段留空并单击“下一步”时,它将显示以下消息:
Failed to open the connection.
Details: ADO Error Code:0x
Source: Microsoft OLE DB Provider for SQL Server
Description : [DBNETLIB][ConnectionOpen (Connect().]SQL Server does not exist or access denied.
SQL State:08001
Native Error: [Database Vendor Code:17]
最佳答案
我已经通过以下步骤解决了这个问题(假设mysql connector/odbc已经安装在您的系统中):
从ODBC数据源管理员添加新连接
选择MySQL ODBC 5.3 ANSI驱动程序
选择TCP/IP单选按钮并输入VPS服务器的IP地址
端口号3306
用数据库用户名和数据库填写用户和密码字段
密码
从下拉列表中选择数据库
单击“测试”按钮,如果一切正常,请单击“确定”
在“数据库”菜单下选择“数据库专家”
在“创建新连接”菜单下选择“ODBC(RDO)”。
选择连接并单击“下一步”
输入数据库用户名和密码,然后单击“完成”
通过选择表和
单击箭头按钮。
如果您已经创建了一个设计,请在Crystal Report中打开您的设计并执行以下步骤:
在“数据库”菜单下选择“设置数据源位置”
在位于
在“替换为”部分
选择连接并单击“下一步”
输入数据库用户名和密码,然后单击“完成”
现在从“当前数据源”选项卡中选择以前的表之一
并在“替换为”选项卡中选择同一个表,然后单击“更新”。对所有的桌子一张一张地做。
单击“关闭”。
希望这有帮助。
关于mysql - 将Crystal Reports连接到VPS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27875948/