『壹』 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数据库用自带的数据导入工具就可以了