我的Ms-Access .mdb文件在我的网站上 它位于App_Data文件夹
中当前连接字符串是:
OleDbDataAdapter Da = new OleDbDataAdapter("Select * from SerialNo",
new OleDbConnection(@"provider=microsoft.jet.oledb.4.0;
data source=ftp://ftp.WebsiteName.com/App_Data/SerialNo.mdb"));
我在上面的连接字符串中哪里出错?
注意:代码中添加了CR以提高可读性
答案 0 :(得分:2)
访问(或访问驱动程序)无法理解FTP或主机名,它希望能够打开数据库,就好像它在本地磁盘上(或在您可见的网络驱动器上) )。因此,您需要删除主机名并为驱动程序提供绝对或相对路径,例如'c:\ inetpub \ wwwroot \ myWebsite \ App_data \ SerialNo.mdb'。下一个技巧是你要在运行时确定该路径,以便它不是硬编码的。有许多功能可以让你从绝对的< - >相对文件路径进行转换,这里描述了一种这样的方法C# getting the path of %AppData%
如果您使用的是Visual Studio> = 2008和数据源,并且数据全部在解决方案中定义,您也可以使用“| DataDirectory |”。应该/可能/不会扩展到正确路径的指令,具体取决于您的VS,DB驱动程序和其他内容的版本。我倾向于采用更多的手动方法。
为了将来参考,connectionstrings.com只是获取连接字符串示例的最佳资源。
干杯
答案 1 :(得分:0)
同意它应该在SO上。
使用:〜/ App_Data / SerialNo.mdb作为上面连接字符串中的数据源。