最近看见一个程序,使用了mdf格式的sql数据库,但是我的机器上没有装任何的sql server程序,这个程序同样可以运行。请问这个是如何做到的?是不是使用的msde?但是这个程序使用的时候没有sql server服务管理器在运行。就像是访问access一样,好像没有任何附加服务。请问这个是如何做到的?

解决方案 »

  1.   

    mdf 不一定是 sqlserver数据库文件吧
      

  2.   

    应该使用的是sql数据库文件因为有mdf 也有ldf 而且将数据库文件删除后,程序的debug(发布时没有realese哈哈).
    也是在system.data.sqlclient出错。
      

  3.   

    肯定有sqlserver进程在运行.
    在程序开始运行时进行附加,在程序关闭时进行deatatch
      

  4.   

    把*.mdb改成*.mdf,然后程序里面引用数据库文件名*.mdf一样的能运行.
      

  5.   

    如果真的没有sql server在运行那就应该不是sql server的数据库文件
      

  6.   

    可能是MSDE,有些安装程序好像可以直接安装MSDE而不安装服务管理器可以在你机器上搜索一下,有没有sqldmo.dll,如果能找到的话,多半是已经装了MSDE
      

  7.   

    还可以用Process Explorer之类的工具看当前系统中有哪些进程在运行,加载了哪些DLL,从而判断是否有MSDE
      

  8.   

    Process Explorer的下载地址
    http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
      

  9.   

    1,可能只是改个名,说不上不是mdf而是mdb.
    2,可能有msde或.net自带的sqlexpress
      

  10.   

    另外一个方法,用16进制编辑器打开mdf文件,如果开头四个字节是01 0f 00 00,就说明是SQL Server的数据文件一个免费的HexEdit:
    http://www.physics.ohio-state.edu/~prewett/hexedit/