SQL Anywhere 17数据库无法启动,ODBC连接Power BI失败求助
SQL Anywhere 17数据库无法启动(SQLCODE=-80)对接Power BI的解决排查方案
问题描述
持有SQL Anywhere 17的contabil.db文件,需创建ODBC连接对接Power BI,但数据库无法启动。已尝试谷歌搜索、ChatGPT咨询、重新安装SQL Anywhere 17,问题仍未解决。
错误信息
Could not connect to the database.
Unable to start database server
[SAP][ODBC Driver][SQL Anywhere]Unable to start database server
SQLCODE=-80
SQLSTATE=08001Connection parameters:
User=dba
Password=***
DBF=C:\Automações\PBI\contabil_db\contabil.db
DBN=Contabil
Server=LocalServer
LINKS=ShMem
排查与解决步骤
1. 检查数据库文件权限与完整性
- 确认
C:\Automações\PBI\contabil_db\contabil.db所在文件夹的读写权限:右键文件夹→属性→安全,确保当前登录用户拥有完全控制或读取/写入权限。 - 验证数据库文件完整性:打开SQL Anywhere的DBISQL工具,执行验证命令:
若文件损坏,先备份原文件,再用修复工具尝试恢复:VALIDATE DATABASE;dbeng17 -r "C:\Automações\PBI\contabil_db\contabil.db"
2. 处理数据库服务器进程冲突
- 打开任务管理器,结束所有
dbeng17.exe或dbsrv17.exe进程,再重新尝试启动数据库。 - 检查
LocalServer名称是否被占用:打开命令提示符执行:
若发现同名服务器,修改ODBC连接的dblocate -lServer参数为其他名称(如ContabilServer)。
3. 调整连接的LINKS参数
当前使用共享内存连接(LINKS=ShMem),尝试切换为TCP/IP连接排除共享内存问题:
- 修改ODBC连接的LINKS参数为:
LINKS=tcpip(Port=2638) - 或手动在命令行启动数据库服务器:
启动成功后再配置ODBC连接指向该服务器。dbeng17 -n ContabilServer -x tcpip "C:\Automações\PBI\contabil_db\contabil.db"
4. 核对驱动与系统位数兼容性
- 确认SQL Anywhere 17驱动位数(32位/64位)与Power BI一致:64位Power BI需用64位ODBC驱动,32位Power BI则用32位驱动。
- 打开对应位数的ODBC数据源管理器,检查已配置的数据源是否使用正确的SQL Anywhere 17驱动。
5. 验证数据库路径与文件名
- 尝试将数据库文件复制到纯英文路径下测试(如
C:\PBI\contabil.db),避免特殊字符可能引发的解析错误。 - 确保文件名无空格或特殊符号,简化路径后再尝试启动。
6. 确认数据库密码正确性
- 用DBISQL工具直接连接数据库,输入DBF路径、用户名
dba和密码,验证密码是否正确。 - 若密码错误,可重置密码:先启动数据库(忽略密码验证):
再执行重置命令:dbeng17 -f "C:\Automações\PBI\contabil_db\contabil.db"ALTER USER dba IDENTIFIED BY 新密码;
内容的提问来源于stack exchange,提问作者Guilherme Rosendo
相关产品推荐
相关产品推荐

