首先,如果应用过visual studio2008的引入数据库的人都应该知道下面这句话的意思:
Data Source=.\SQLEXPRESS;AttachDbFilename=E:\Study\asp\myblog\App_Data\myblog.mdf;Integrated Security=True;User Instance=True
这是引入数据库后,从其属性栏里copy的data source复制过来的连接字符。
这中连接字符如果应用之后,你用的不是你本机安装的数据库,无论是sql2005还是其他的。他只用它App_data下的数据库,那个是复制过来的。
所以你会发现一下几个问题:
第一,你在vs2008连接数据库,运行网页没问题,但是如果你要在iis中运行你的网页,你就会发现,你连接不到数据库,总会发生用户名不能实例化的问题,这个问题也是困扰了我好多天的一个问题。
第二,无论你怎么在vs2008中插入数据,你sql2005中的数据库,表中数据从不更新,这个是困扰我的第二个问题。
本人就发现以上两种问题,现在,解决方法如下。
第一,如果你是用vs2008自建的数据库,那么你可以用你的sql2005去登陆.\SQLEXPRESS这个数据库服务器,在里面创建用户名,设置权限。
第二,回到你的连接字符串,更改后面半句,USER ID=ID;password=*** ;加上这个用户名和密码。在vs2008下调试,能连接导数据库就可以在iis上运行了。
第三,至于数据更新问题,我也不会做,所以,如果是引进的数据库,你必须一直用APP_date下的mdf文件,而不能跟换,发布的时候也得用那个文件,不然,实验数据丢失。当然,做大网站的,怎么可能用那种数据库。
其次,如果你想用回sql2005中的数据库,那么你在连接的时候,不能把数据库的mdf文件引入到你的App_date文件下,如果引入,那也不要用,因为,那明显是再两个数据库服务器下的文件。当然不会更新。
那么,你要连接数据库,就必须回到你当初的那个方法,下面这句:
Server=服务器名字,一般本机用(local或者.代替);Database=table_name;uid=sa;pwd=**
只有这样连接,你才能真正的使用你本机安装的sql