当前位置:C++技术网 > 资讯 > VS中无法保存mdf数据库文件数据表的解决方法

VS中无法保存mdf数据库文件数据表的解决方法

更新时间:2015-06-29 18:13:40浏览次数:1+次

    mdf文件就是MSSQL Server的数据库文件,此文件用于存储数据库中的数据。对应的一个文件就是日志文件,即ldf文件。ldf中的l代表了log(日志)的意思,也就是日志文件,用于记录数据库操作记录。用于恢复数据库的数据的。
    在VS中打开mdf文件,可以和数据库管理工具一样操作,非常方便,这是VS的一大亮点。我们可以在VS中直接打开/创建一个mdf文件的数据库。当然,也可以直接连接网络上的各种数据库。连接远程数据库就简单了,只要一个账号密码即可,其他的服务支持则是由远程数据库服务器来响应的。我们本机就只需要发送请求就可以了。当然这是大概的描述,具体的详细的技术需要阅读相关书籍。
    然而对于mdf文件形式自己直接创建的数据库,我们可以在本机直接找到这个文件。很多人在数据库管理工具或者VS中创建了一个数据库后,不知道如何找到mdf文件。下面我告诉大家mdf文件在哪里。
    mdf文件是放在安装目录下的一个文件夹下的,通常路径比较固定。通常是C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\ 这个文件夹下。当然有的机子略有不同。但是你可以在C:\Program Files\Microsoft SQL Server\文件夹下挨个找,一般会找到一个Data的文件夹里面,存放了一堆mdf文件,然后你可以看到你创建的mdf文件也在其中。
    如果你要复制出这个mdf文件,要将对应的ldf文件一起复制。如果复制提示无法复制的问题,请在任务管理器中找到"sql server"的进程,将其关闭即可。或者你也可以使用数据库管理工具把这个数据库分离,与数据库服务器断开。否则此文件处于被数据库服务器占用的状态,自然会有点问题。要么就是数据可能不完整,要么可能无法复制等。
    我是使用VS开发程序的,因此在使用数据库也就基本是VS了。自己要做数据库相关的程序,自然也就自己建立一个mdf文件了。在VS中创建数据库文件即可,很简单,但是你要保证数据库服务已经开启了哦。当然,这里指的数据库服务器都是本机的数据库服务哦。
    自己创建的mdf文件的数据库,你在使用时会发现,在你创建一个数据表后,后面想对数据表的定义修改时,比如修改列名,修改列数据类型等,然后点击保存。你会发现一个提示“无法保存会导致重新创建一个或多个表的更改。可以通过更改配置选项......。挂起的更改要求删除并重新创建以下表”,出现这个问题,看着一大堆的提示,很头疼。
    事实上,我之前一直没有好好看这些提示,今天刚好就仔细阅读了以下,然后发现了解决方法。提示里说的很清楚了,都是自己一直大意了,才增加了不少工作量。每次要保存一个表还要重新创建一个,所以真心很麻烦。停下脚步,一分钟,就可以解决问题。
    出现此问题的原因就是,用VS直接打开mdf文件,也就容易产生数据不一致,甚至是会导致重复创建多个一样的表,因此,默认情况下,VS就有了以上这种错误提示,防止出问题。但是如果我们自己有意识的修改一个表,是没有问题的。所以,为了方便起见,我们修改一下VS的设置即可轻松修改表。
    修改的方法为:VS菜单 “工具”->“选项”-> “数据库工具” -> “防止保存需要重新创建表的更改(S)”,把这个复选框去掉,确定即可。如果进入选项界面发现只有可怜的几项,没有看到数据库选项,勾选底部的“显示所有设置”哦。这样就可以轻松修改表了哦。