【发布时间】:2012-06-13 18:51:24
【问题描述】:
string Path = @"c:\Database\Mydatabase.db";
string myConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path + ";Extended Properties=Paradox 5.x;";
// Define the database query
string mySelectQuery = "SELECT id,name FROM people WHERE id < 3;";
// Create a database connection object using the connection string
OleDbConnection myConnection = new OleDbConnection(myConnectionString);
// Create a database command on the connection using query
OleDbCommand myCommand = new OleDbCommand(mySelectQuery, myConnection);
// Open the connection
myCommand.Connection.Open();
// Create a database reader
OleDbDataReader myReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
错误出现在 myCommand.Connection.Open();它说: 'c:\Database\Mydatabase.db' 不是有效路径。确保路径名拼写正确,并且您已连接到文件所在的服务器。
我正在尝试在 C# 中读取 .db 文件。但是,我收到一个错误,我确定该文件位于那里,该错误对我没有意义。请你帮助我好吗 ?或者如何在 C# 中读取 .db(paradox) 数据库文件?
编辑: 字符串路径 = @"c:\Database\";
这种情况的错误是“Microsoft Jet 数据库引擎找不到对象'people'。确保对象存在并且您正确拼写了它的名称和路径名。”
如果我这样更改,C# 如何找到要使用的数据库文件?因为,我没有在任何地方指定文件名“Mydatabase.db”
【问题讨论】:
-
C# 进程是否有权读取该文件?
-
你看到了吗? connectionstrings.com/paradox "请注意,您应该只指定数据库所在的文件夹。而不是数据库名称本身。"
-
但是那个错误,听起来可以成功建立连接,并且人员表不存在,也许您缺少用户/模式或其他东西?
-
可能是一个愚蠢的问题,但是您的屏幕截图显示它是一个 SQLite 数据库,而您的代码是针对 Paradox 数据库的?
-
就像我说的那样,这可能是一个愚蠢的问题。但是程序标题说“SQLite 数据库浏览器”。文件扩展名没有意义。我经常修改我的 db 文件扩展名,以避免爱管闲事的客户窥视内部。