[英]Connection String of ms access database 2010 in c# for dns less
朋友……從那以后,
OleDbConnection vcon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=C:\Users\Tushar\Documents\db.accdb");
這個字符串在 c# 中用於 ms access 數據庫連接..查看已知的數據庫位置並且它可以工作..
但是,我想在數據庫位於任何位置時運行應用程序......(即)它應該從任何位置自動獲取數據庫位置(當用戶將項目保存在任何位置時)
有哥們能幫幫我嗎..
提前致謝..
我建議在 C# 中創建邏輯來確定數據庫的位置。 一旦你知道,它就像字符串連接一樣簡單:
var dbLocation = GetDbLocation();
OleDbConnection vcon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;
Data Source=" + dbLocation ");
GetDbLocation()
可以從配置文件中提取信息,或以其他方式確定它(您沒有給我們足夠的信息來確定數據庫的位置)。
將您的數據庫復制到 App_Data
並使用此代碼:
string path = Server.MapPath("~/App_Data") + "\\" + "db.accdb";
OleDbConnection vcon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;
Data Source="+path +"");
希望這有幫助。
試試下面的方法,它會幫助你...
string path = Environment.CurrentDirectory;
path = path + "\\db.accdb";
OleDbConnection vcon = new
OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + path);
將您的應用程序和數據庫的 EXE 放在同一位置並使用上面的代碼...
如果您將數據庫放在文件夾 Database 中,請嘗試如下...
string path = Environment.CurrentDirectory;
path = path + "\\DataBase\\db.accdb";
OleDbConnection vcon = new
OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + path);
您必須通過連接字符串提供數據庫位置。 OleDbConnection 沒有其他方法可以知道數據庫文件的位置。
現在,您可以做的是在運行時以這些方式之一指定您的連接字符串。
有一組連接字符串供您使用,所有這些都指向預定位置,動態指定/選擇其中之一。 IE
OleDbConnection cn = new OleDbConnection(); cn.ConnectionString = variable;
無論哪種方式,您都必須事先確定位置。 沒有魔術代碼,它會在您的整個系統中搜索 auto 上的.accdb
文件並將其插入。即使您編寫了這樣的代碼,無論如何這將是一個損壞的代碼或非常具體的代碼。
因此,最好在 web.config 中管理您的 connectionStrings(所有可能的預先確定的位置,您將 db 文件放置(的副本)的位置)。
或者,您可以創建一個 db 表來存儲所有可能的連接字符串,您可以通過一個簡單的用戶界面向其中添加條目和刪除條目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.