我必须从一些SqlAnywhere 5 .db文件中提取一些数据,另一个系统定期从正在运行的数据库中提取并保存。
我已经在我的机器上安装了sql 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凭据(我没有)才能提取数据库。也尝试了#34;只是''表"使用-t选项,没有结果。
还试过其他东西(odbc,第三方司机),没有结果。
我要问的是:有没有办法从这些.db文件中提取数据?实体框架将是一个很好的加分。
谢谢
答案 0 :(得分:0)
没有。如果没有重新加载,则无法使用比v10.0更新的服务器运行旧数据库,并且无法在该数据库中以不具有DBA权限的用户身份进行重新加载。如果你有一个SQL Anywhere版本5的副本,你可以使用它,但除此之外,没有办法让数据超出十六进制编辑数据库文件本身并猜测数据和什么不是。
免责声明:我在SQL Anywhere工程中为SAP工作。