簡體   English   中英

c#中ms access database 2010的連接字符串,用於dns較少

[英]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 沒有其他方法可以知道數據庫文件的位置。

現在,您可以做的是在運行時以這些方式之一指定您的連接字符串。

  1. 有一組連接字符串供您使用,所有這些都指向預定位置,動態指定/選擇其中之一。 IE

     OleDbConnection cn = new OleDbConnection(); cn.ConnectionString = variable;
  2. 單個連接字符串的簡單字符串連接。

無論哪種方式,您都必須事先確定位置。 沒有魔術代碼,它會在您的整個系統中搜索 auto 上的.accdb文件並將其插入。即使您編寫了這樣的代碼,無論如何這將是一個損壞的代碼或非常具體的代碼。

因此,最好在 web.config 中管理您的 connectionStrings(所有可能的預先確定的位置,您將 db 文件放置(的副本)的位置)。

或者,您可以創建一個 db 表來存儲所有可能的連接字符串,您可以通過一個簡單的用戶界面向其中添加條目和刪除條目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM