『壹』 ACCESS不可識別的資料庫格式!
在Access07之前的資料庫後綴名均為*.mdb 而連接字元串寫成Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\myFolder\*.mdb ;Persist Security Info=False;
但是Access07和Access10將後綴名改為了*.accdb。
而通過上述連接的話就會報出"不可識別的資料庫格式"異常。
需要注意的是Microsoft.Jet.OLEDB.4.0的Oledb的連接方式是比較老的連接方式,而07以後的Oledb連接方式將改成Microsoft.ACE.OLEDB.12.0。
改後的連接變成了Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\*.accdb;Persist Security Info=False;
小竅門:
在asp.net中經常把連接字元串寫在web.config中。但是access的連接字元串是需要資料庫的絕對位置。即 盤符:/文件夾/文件 這樣就導致經常把文件拷貝後需要改路徑的問題。其實完全可以通過程序來獲得資料庫文件的絕對路徑。
具體如下:
web.config中只寫資料庫文件名 (一般會把資料庫文件放在App_Data文件夾下,因為有一定的安全性)
<appSettings>
<add key="ConnString" value="App_Data\ManageDB.accdb"/>
</appSettings>
然後在DBHelper類獲得字元串的寫上如下方法:
public static string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + AppDomain.CurrentDomain.BaseDirectory + ConfigurationSettings.AppSettings["ConnString"];
通過AppDomain.CurrentDomain.BaseDirectory來獲得此資料庫的絕對路徑.
『貳』 如何使用預先製作好的SQLite資料庫
Android 開發: 如何使用預先製作好的 SQLite 資料庫 在實際開發中, 我們經常遇到需使用自己已經定製好數據的數據 庫,一般的做法是: 1、 Sqlite 資料庫工具製作資料庫文件, 用 網上有許多這類工具, 可以自己搜索下載,我用的是 Navicat for Sqlite。需要注意的是 android 對其使用的 Sqlite 資料庫有一些固定的要求,包括: (1)資料庫文件中必須有一個名為「android_metadata」的表, 這個表只包括一個欄位:locale,也只需要一條記錄,默認值為 「en_US」 。 (2)資料庫文件中的其它表,必須包括一個名字「_id」的關鍵 字欄位。 2、將製作好的資料庫文件放在 Android 項目的 assets 文件夾或 res/raw 文件夾下(我習慣放在 assets 文件夾下) 。 3、Android 項目使用的資料庫文件一般在/data/data/項目包名 /databases/下,使用代碼使程序在運行時進行判斷,如該路徑下 沒有指定的文件,則進行復制,否則不做任何操作。 4、如資料庫文件不超過 1M,可以直接復制,否則需要預先將數 據庫文分割為幾個不超過 1M 的文件,復制到目標路徑後再組合 一一起。 實例: 使用一個 DBHelper 類來實現判斷和復制資料庫的操作,這個類 繼承自 SQLiteOpenHelper 類。 package com.bluehowk.homecooking; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import import import import import /** * * * * * * 用法: DBHelper dbHelper = new DBHelper(this); dbHelper.createDataBase(); SQLiteDatabase db = dbHelper.getWritableDatabase(); Cursor cursor = db.query() db.execSQL(sqlString); android.content.Context; android.database.sqlite.SQLiteDatabase; android.database.sqlite.SQLiteDatabase.CursorFactory; android.database.sqlite.SQLiteException; android.database.sqlite.SQLiteOpenHelper; * 注意:execSQL不支持帶;的多條SQL語句 * 見execSQL的源碼注釋 (Multiple statements separated by ;s are not supported.) * 將把assets下的資料庫文件直接復制到DB_PATH,但資料庫文件大小限制在1M以下 * 如果有超過1M的大文件,則需要先分割為N個小文件,然後使用BigDatabase() 替換Database() */ publicclass DBHelper extends SQLiteOpenHelper { //用戶資料庫文件的版本 privatestaticfinalintDB_VERSION = 1; //資料庫文件目標存放路徑為系統默認位置,cn.arthur.examples 是你的包名 privatestatic String DB_PATH = "/data/data/com.bluehowk.homecooking/databases/"; /* //如果你想把資料庫文件存放在SD卡的話 private static String DB_PATH = android.os.Environment.getExternalStorageDirectory().getAbsoluteP ath() + "目標路徑"; */ //下面兩個靜態變數分別是目標文件的名稱和在assets文件夾下的文件名 privatestatic String DB_NAME = "cookdata.db"; privatestatic String ASSETS_NAME = "cookdata.db"; private SQLiteDatabase myDataBase privatefinal Context myContext; /** * 如果資料庫文件較大,使用FileSplit分割為小於1M的小文件 * 此例中分割為 hello.db.101 hello.db.102 hello.db.103 */ //第一個文件名後綴 privatestaticfinalintASSETS_SUFFIX_BEGIN //最後一個文件名後綴 privatestaticfinalintASSETS_SUFFIX_END /** * 在SQLiteOpenHelper的子類當中,必須有該構造函數 * @param context 上下文對象 * @param name 資料庫名稱 * @param factory 一般都是null * @param version 當前資料庫的版本,值必須是整數並且是遞增的狀態 */ public DBHelper(Context context, String name, CursorFactory factory, int version) { //必須通過super調用父類當中的構造函數 super(context, name, null, version); this.myContext = context; } public DBHelper(Context context, String name, int version){ this(context,name,null,version); } public DBHelper(Context context, String name){ this(context,name,DB_VERSION); } public DBHelper (Context context) { this(context, DB_PATH + DB_NAME); = 101; = 103; = null; } publicvoid createDataBase() throws IOException{ boolean dbExist = checkDataBase(); if(dbExist) { //資料庫已存在,不做任何操作 } else { //創建資料庫 try { File dir = new File(DB_PATH); if(!dir.exists()){ dir.mkdirs(); } File dbf = new File(DB_PATH + DB_NAME); if(dbf.exists()){ dbf.delete(); } SQLiteDatabase.openOrCreateDatabase(dbf, null); // 復制asseets中的資料庫文件到DB_PATH下 DataBase(); } catch (IOException e) { thrownew Error("資料庫創建失敗"); } } } //檢查資料庫是否有效 privateboolean checkDataBase(){ SQLiteDatabase checkDB = null; String myPath = DB_PATH + DB_NAME; try{ checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY); }catch(SQLiteException e){ //database does't exist yet. } if(checkDB != null){ checkDB.close(); } return checkDB != null ? true : false; } /** * 復制assets文件中的資料庫到指定路徑 * 使用輸入輸出流進行復制 **/ privatevoid DataBase() throws IOException{ InputStream myInput = myContext.getAssets().open(ASSETS_NAME); String outFileName = DB_PATH + DB_NAME; OutputStream myOutput = new FileOutputStream(outFileName); byte[] buffer = newbyte[1024]; int length; while ((length = myInput.read(buffer))>0){ myOutput.write(buffer, 0, length); } myOutput.flush(); myOutput.close(); myInput.close(); } //復制assets下的大數據庫文件時用這個 privatevoidBigDataBase() throws IOException{ InputStream myInput; String outFileName = DB_PATH + DB_NAME; OutputStream myOutput = new FileOutputStream(outFileName); for (int i = ASSETS_SUFFIX_BEGIN; i <ASSETS_SUFFIX_END+1; i++) { myInput = myContext.getAssets().open(ASSETS_NAME + "." + i); byte[] buffer = newbyte[1024]; int length; while ((length = myInput.read(buffer))>0){ myOutput.write(buffer, 0, length); } myOutput.flush(); myInput.close(); } myOutput.close(); } @Override publicsynchronizedvoid close() { if(myDataBase != null){ myDataBase.close(); } super.close(); } @Override publicvoid onCreate(SQLiteDatabase db) { } /** * 資料庫創建時執行,如果不是預制的資料庫,可以在這些寫一些創建表和添加初始 化數據的操作 * 如:db.execSQL("create table cookdata (_id integer primary key,cook_name * varchar(20),cook_sort varchar(20))"); */ @Override publicvoid onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { /** * 資料庫升級時執行,前面我們定義的DB_VERSION就是資料庫版本,在版本升 高時執行 * 一般做一些數據備份和恢復到新資料庫的操作。 */ } } 可以使用如下代碼進行調用: helper=new DBHelper(context); try { helper.createDataBase(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
『叄』 asscess 2003是什麼類型的資料庫管理系統
它是Microsoftoffice的一個組件。下載office就可有access資料庫軟體了。
Microsoft
Access是一種關系式資料庫,關系式資料庫由一系列表組成,表又由一系列行和列組成,每一行是一個記錄,每一列是一個欄位,每個欄位有一個欄位名,欄位名在一個表中不能重復。圖1是一個「產品」表的例子。「產品」表由10個記錄組成,一個記錄佔一行,每一個記錄由產品ID、產品名稱、庫存量、訂貨量、單價和折扣率6個欄位組成。「產品ID」是欄位名,其下面的1,2等是欄位的值。
表與表之間可以建立關系(或稱關聯,連接),以便查詢相關聯的信息。Access資料庫以文件形式保存,文件的擴展名是MDB。
Access
資料庫由六種對象組成,它們是表、查詢、窗體、報表、宏和模塊。
表(Table)
——表是資料庫的基本對象,是創建其他5種對象的基礎。表由記錄組成,記錄由欄位組成,表用來存貯資料庫的數據,故又稱數據表。
查詢(Query)——查詢可以按索引快速查找到需要的記錄,按要求篩選記錄並能連接若干個表的欄位組成新表。
窗體(Form)——窗體提供了一種方便的瀏覽、輸入及更改數據的窗口。還可以創建子窗體顯示相關聯的表的內容。窗體也稱表單。
報表(Report)——報表的功能是將資料庫中的數據分類匯總,然後列印出來,以便分析。
宏(Macro)——宏相當於DOS中的批處理,用來自動執行一系列操作。Access列出了一些常用的操作供用戶選擇,使用起來十分方便。
模塊(Mole)——模塊的功能與宏類似,但它定義的操作比宏更精細和復雜,用戶可以根據自己的需要編寫程序。模塊使用Visual
Basic編程。
『肆』 關於asscess資料庫視圖的查詢太復雜的問題
打開企業管理器-資料庫-右鍵所有任務-倒入數據,打開導入向導。
後面就是一步一步選下去就可以了。
『伍』 asscss2007如何進入資料庫表
額,是access吧。。要查看一個表先得有資料庫那個文件,在一個資料庫中可以創建表。
『陸』 vb怎麼打開assce資料庫
conn
=
"Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=
路徑+
文件名;Persist
Security
Info=False"
Sql語句有些不同的
要注意
『柒』 asscess是什麼辦公軟體
Microsoft Office Access是由微軟發布的關系資料庫管理系統。它結合了 MicrosoftJet Database Engine 和 圖形用戶界面兩項特點,是 Microsoft Office 的系統程序之一。
Microsoft Office Access是微軟把資料庫引擎的圖形用戶界面和軟體開發工具結合在一起的一個資料庫管理系統。它是微軟OFFICE的一個成員, 在包括專業版和更高版本的office版本裡面被單獨出售。2012年12月4日,最新的微軟Office Access 2016在微軟Office 2016里發布,微軟Office Access 2013 是前一個版本。
MS ACCESS以它自己的格式將數據存儲在基於Access Jet的資料庫引擎里。它還可以直接導入或者鏈接數據(這些數據存儲在其他應用程序和資料庫)。
軟體開發人員和數據架構師可以使用Microsoft Access開發應用軟體,「高級用戶」可以使用它來構建軟體應用程序。和其他辦公應用程序一樣,ACCESS支持Visual Basic宏語言,它是一個面向對象的編程語言,可以引用各種對象,包括DAO(數據訪問對象),ActiveX數據對象,以及許多其他的ActiveX組件。可視對象用於顯示表和報表,他們的方法和屬性是在VBA編程環境下,VBA代碼模塊可以聲明和調用Windows操作系統函數。
『捌』 assces資料庫包括哪幾種對象
Access是微軟公司推出的關於桌面關系資料庫管理系統。是office系列應用軟體之一。提供了查詢、報表等7種資料庫對象。
1、表:主要用於存儲數據。
2、查詢 主要用於提取數據。
3、窗體 用戶與程序的交互。
4、報表 主要用於展示數據。
5、頁 主要用於數據共享。
6、宏 用於自動化完成。
7、模塊 用於自定義函數,或個性化工具。
『玖』 CMD下如何選擇登陸資料庫 oracle
1、首先在電腦端打開開始處的運行程序,進行點擊操作。
2、然後輸入命令cmd,進入cmd操作界面。
3、然後鍵入命令sqlplus/nolog進行操作,登陸oracle。
4、可以選擇性輸入命令:conn
username/password@資料庫名稱,直接進入到該資料庫。
5、也可以鍵入命令sql>conn
/
as
syddba,登錄oracle不需要密碼的超級管理員用戶。
6、也可以鍵入命令sql>conn
username/password,通過輸入用戶名和密碼的形式可以登錄到普通用戶。
『拾』 ASS資料庫轉SQL資料庫都需要什麼工具
ASS資料庫是access嗎?
導到MS SQL資料庫用自帶的數據導入工具就可以了