有没有可能转发 access 的 mdb 文件访问请求? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
minibear2021

有没有可能转发 access 的 mdb 文件访问请求?

  •  
  •   minibear2021 May 25, 2023 1366 views
    This topic created in 1068 days ago, the information mentioned may be changed or developed.

    一般来说访问 mdb 内容都是用 microsoft jet oledb ,我有个上古的软件,源码肯定没有,有没有可能将微软 jet 引擎对 mdb 文件的访问转发,这样我就可以将数据库放在网络上,甚至可以将 mdb 的库用 mysql 或者 mssql 来代替。

    9 replies    2023-05-26 16:23:02 +08:00
    ysc3839
        1
    ysc3839  
       May 25, 2023 via Android
    oledb 好像是可以实现第三方 provider 的吧?好像只需要改一下连接字符串就能换掉,其他应该是一致的,用这个方案的话要实现的 hook 点就只有传连接字符串的那个函数。
    还有方案就是把 oledb 所有函数都 hook 一遍,但这么做工作量太大,稳定性也难说。
    如果只是想把文件放在远程的话,直接用 smb 等网络文件系统即可。
    minibear2021
        2
    minibear2021  
    OP
       May 25, 2023
    @ysc3839 现在 mdb 文件已经通过 smb 共享放在 nas 上了,就是还想看看有没有更好的办法,你提到的是一个思路,如果可以自己编译一个第三方 provider ,然后注册到系统里,冒充微软的 jet 引擎可能是一个可行的方法。
    ysc3839
        3
    ysc3839  
       May 25, 2023 via Android
    @jstony 没有对接其他数据库需求的话,smb 基本上是最稳妥的方法了
    yinmin
        4
    yinmin  
       May 25, 2023 via iPhone
    mdb 的 sql 是有自己的格式,不兼容其他 sql
    ttvast
        5
    ttvast  
       May 26, 2023 via iPad   2
    access 可以将一个 sql server 的表链接成自己的表
    minibear2021
        6
    minibear2021  
    OP
       May 26, 2023
    @ttvast 感谢,这个是我从来没想到过的一个思路,我去研究一下,可行的话可能是最简单的办法。
    minibear2021
        7
    minibear2021  
    OP
       May 26, 2023
    @yinmin 我不需要了解 mdb 的具体实现,我只需要将标准的 oledb 的请求转发就行了。
    yinmin
        8
    yinmin  
       May 26, 2023
    #7 mdb 使用的 sql 语法是很怪异的,例如:select 语句就与其它的数据库很不同。通过 OLEDB 转发后还需要一个转换层,将 ACCESS 的 SQL 语法转换成其它数据库的 SQL 语法。你可以找找有没有这种软件。
    minibear2021
        9
    minibear2021  
    OP
       May 26, 2023
    @ttvast 感谢你的方案,已经测试成功,现在把数据同步过来就可以正常用了。单机软件秒变网络版
    About     Help     Advertise     Blog     API     FAQ     Solana     3902 Online   Highest 6679   &nsp;   Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 46ms UTC 10:33 PVG 18:33 LAX 03:33 JFK 06:33
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86