通过连接字符串连接远程数据库

3

我正在尝试让我的程序从同一局域网(内部网络)中连接到另一台计算机上的Access数据库。下面是我正在使用的代码:

namespace CalUnderFoot
{
    public partial class Window1 : Window
    {    
        CarsDBDataSet dataSet;
        CarsDBDataSetTableAdapters.CarSchedulingTableAdapter adapter;

        public Window1()
        {
            InitializeComponent();

            System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection()
            {
                ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data source= \\UNDERFOOT-PC\CalUnderFootDB\CarsDB.mdb"
            };

            con.Open();
             \\do stuff

它无法打开数据库。

\\UNDERFOOT-PC\CalUnderFootDB\CarsDB.mdb

它只在程序同一位置生成另一个副本。

我知道这是语法问题,而我对C#还很陌生。那我错了什么?

我已经双重检查了两台计算机之间的网络连接,一切正常。


1
尝试使用这个资源。http://www.connectionstrings.com/ - jcwrequests
请尝试检查数据库的读/写权限,即使用Access打开它,修改一些记录并保存。如果保存操作成功完成,请确保应用程序在具有此类权限的用户下运行。 - Sergey Vyacheslavovich Brunov
是的,我已经检查了所有这些!:( - Pigeon
3个回答

3

免责声明: 这并不是解决您问题的答案,但我声望不够高无法把它添加为评论。

因为您说您是C#新手,我假设您不了解Linq to SQL。如果您从未听说过它,我认为您应该了解一下。它是一个很好的抽象层,避免您在代码中编写SQL语句。


1

我注意到您的连接字符串没有凭据。您是否尝试过像这样的内容:

Provider=Microsoft.Jet.OLEDB.4.0; 
Data Source=\\UNDERFOOT-PC\CalUnderFootDB\CarsDB.mdb;
User Id=admin; Password=;

请查看:http://www.connectionstrings.com/access-2003/


0

StackOverflow真的需要取消一些愚蠢的规则。由于声望不足,我将此作为答案而非评论发布。

也许this链接可能会有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接