我必须从一些 SqlAnywhere 5 .db 文件中提取一些数据,另一个系统会定期从正在运行的 db 中提取并保存这些数据。
我已经在我的机器上安装了 sql Anywhere 16 套件。
我尝试使用此处所写的普通 ado.Net 连接到数据库:http ://www.sybase.com/detail?id=1054947
SAConnection myConnection = new SAConnection(@"UID=guest;PWD=guest;DBF=D:\test\rotomat\3991194.db");
//EXPECTION: Unable to start specified database: 'D:\test\rotomat\3991194.db' was created by a different version of the software
myConnection.Open();
但是我收到了您在评论中看到的错误。
因此,我尝试使用 dbunload 实用程序将数据库转换为较新的版本:但是我收到了您看到的关于权限的错误。谷歌搜索,您似乎需要拥有 DBA 凭据(我没有)才能提取数据库。还使用 -t 选项尝试了“只是 'pieces' 表”,但没有结果。
还尝试了其他东西(odbc,第 3 方驱动程序),没有结果。
我要问的是:有没有办法以编程方式从这些 .db 文件中提取数据?实体框架将是一个很大的优势。
谢谢