之前一直使向vs.net2005的向导来用sqldatasource,但它最后存储在web.config中的路径为绝对路径, 如果传到网站空间去,那得改好多东西,那不是很麻烦,在网上找了下,没找到,就到MSDN中去找了,还真让我找到了,应该是对的吧,至少我现在还没有发现错误呢~~~ 下面是解决办法:
MSDN中的说明:
创建一个 add 元素作为 ConnectionStrings 元素的子级,定义以下属性:
name 将值设置为要用来引用连接字符串的名称。
name="CustomerDataConnectionString"
connectionString 分配一个连接字符串,在其中指定适用于 Microsoft Access 的提供程序、Access 数据文件的位置和身份验证信息(如果适用)。连接字符串可能类似于这样:
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Northwind.mdb;"
如果将 Access .mdb 文件存储在网站的 App_Data 目录中(推荐使用以增强安全性),则可以使用语法 |
源程序:
<connectionStrings>
<add name="CustomerDataConnectionString"
connectionString="Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=|DataDirectory|Northwind.mdb"
providerName="System.Data.OleDb" />
</connectionStrings>
我的源程序:web.config:
<connectionStrings>
<add name="kejiconn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
|DataDirectory|keji.config_fy"
providerName="System.Data.OleDb" />
</connectionStrings>
前台: <asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:kejiconn %>"
ProviderName="<%$ ConnectionStrings:kejiconn.ProviderName %>" >
</asp:SqlDataSource>
注意: DataDirectory不能替换成其它的!!! 否则会出现"文件名无效错误"! 这就说明它不能被修改,你的数据库必须放在APP_DATA文件夹中!
又解决了一个问题!加油!