关于Oracle中创建表空间的说明

Oracle数据库被划分成称作为表空间的逻辑区域,形成Oracle数据库的逻辑结构。一个Oracle数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是Oracle数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。
我们可以通过以下代码创建用户并设置表空间:

一、创建临时表空间:

create temporary tablespace user_temp 
tempfile 'D:\oracle\tablespace\user_temp.dbf' 
size 50m 
autoextend on 
next 50m maxsize 20480m 
extent management local;

二、创建数据表空间:

create tablespace user_data 
logging 
datafile 'D:\oracle\tablespace\user_data.dbf' 
size 50m 
autoextend on 
next 50m maxsize 20480m 
extent management local;

三、创建用户并指定表空间:

create user username identified by password 
default tablespace user_data 
temporary tablespace user_temp;

四、设置用户权限:

grant connect, resource, dba to username;

关于MySQL中设置允许远程访问的说明

数据库MySQL在默认情况下是不允许远程访问并登录的,如果需要允许远程访问有以下两种解决方法:

一、修改系统表数据方法:
在MySQL本机使用管理员账号登录,更改“mysql”数据库中的“user”表里的“host”项值,将值“localhost”改为“%”:

use mysql;
update user set host = '%' where user = 'root';

二、授权方法:
在MySQL本机使用管理员账号登录,执行以下SQL命令授权用户远程登录权限:

grant all privileges on *.* to 'root'@'%' with grant option; 

如果希望只有指定的IP使用密码才可以远程访问,可执行以下SQL命令:

grant all privileges on *.* to 'root'@'192.168.1.1' identified by '[password]' with grant option; 

关于PostgreSQL中设置允许远程访问的说明

数据库PostgreSQL在默认情况下是不允许远程访问并登录的,如果需要允许远程访问则需要修改两个配置文件:

一、postgresql.conf:
该文件位于PostgreSQL安装目录的data文件夹下,将该配置文件中的“listen_addresses”项值设置为“’*’”:

listen_addresses = '*'

二、pg_hba.conf:
该文件同样位于PostgreSQL安装目录的data文件夹下,在该配置文件的“host all all 127.0.0.1/32 md5”行下添加以下配置,或者直接将这一行修改为以下配置:

host all all 0.0.0.0/0 md5

如果希望只有指定的IP才可以远程访问,则可以将上述配置项中的“0.0.0.0”设定为特定的IP值。

关于Oracle中解锁账户的说明

出于安全性考虑,在Oracle中当我们多次误操作(比如多次输入错误的密码)时,我们的账户可能会被Oracle系统锁定:the account is locked
在这种情况下,我们可以通过使用其他sysdba账户(如sys)登入到Oracle服务器,并执行以下SQL命令来重新解锁账户:

alter user [username] account unlock;

关于SQLite中连接字符串的说明

SQLite在SQLite.NET中的连接字符串

基本

Data Source=C:/sqlite.db;Version=3;

SQLite-2版本不支持此方法

使用内存数据库

Data Source=:memory:;Version=3;New=True;

使用UTF-16编码

Data Source=C:/sqlite.db;Version=3;UseUTF16Encoding=True;

使用密码

Data Source=C:/sqlite.db;Version=3;Password=[password];

使用SQLite-3.3x版本之前的数据库格式

Data Source=C:/sqlite.db;Version=3;Legacy Format=True;

使用连接池

Data Source=C:/sqlite.db;Version=3;Pooling=True;Max Pool Size=100;

使用只读连接

Data Source=C:/sqlite.db;Version=3;Read Only=True;

将DateTime.Ticks作为datetime格式

Data Source=C:/sqlite.db;Version=3;DateTimeFormat=Ticks;

默认使用ISO8601日期时间格式

将GUID作为text格式

Data Source=C:/sqlite.db;Version=3;BinaryGUID=False;

存储GUID文本将使用更多的数据库空间。

指定缓存大小

Data Source=C:/sqlite.db;Version=3;Cache Size=2000;

以字节为单位

指定数据页大小

Data Source=C:/sqlite.db;Version=3;Page Size=1024;

以字节为单位

禁止在分布式事务中记录

Data Source=C:/sqlite.db;Version=3;Enlist=N;

禁止创建数据库

Data Source=C:/sqlite.db;Version=3;FailIfMissing=True;

限制数据库大小

Data Source=C:/sqlite.db;Version=3;Max Page Count=5000;

禁用日志文件

Data Source=C:/sqlite.db;Version=3;Journal Mode=Off;

使用日志文件

Data Source=C:/sqlite.db;Version=3;Journal Mode=Persist;

控制文件刷新

Data Source=C:/sqlite.db;Version=3;Synchronous=Full;

设置FULL后每次操作后自动刷新,否则由操作系统决定何时去刷新

SQLite在ADO.NET驱动中的连接字符串

标准

Data Source=C:/sqlite.db;Version=3;

对于SQLite-2.x版本使用Version=2,对于SQLite-3.x版本使用Version=3

创建新数据库

Data Source=C:/sqlite.db;Version=3;New=True;

使用数据库压缩

Data Source=C:/sqlite.db;Version=3;Compress=True;

指定缓存大小

Data Source=C:/sqlite.db;Version=3;Cache Size=3000;

使用UTF-8编码

Data Source=C:/sqlite.db;Version=3;UTF8Encoding=True;

使用UTF-16编码

Data Source=C:/sqlite.db;Version=3;UTF16Encoding=True;

SQLite在ODBC驱动中的连接字符串

标准

DRIVER=SQLite3 ODBC Driver;Database=C:/sqlite.db;LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;

SQLite在.NET Framework的ODBC驱动中的连接字符串

使用ODBC驱动

Driver=[驱动名称];OdbcKey1=[Value1];OdbcKey2=[Value2];

更多信息请参阅:SQLite connection strings – ConnectionStrings.com

关于SQLite中获取数据表Table信息的说明

在SQLite数据库中存在一张特殊的系统表sqlite_master(或者在一个临时数据库中被叫做sqlite_temp_master),该表存储了完整的数据库架构信息,表结构定义类似于如下方式:

create table sqlite_master(
    type text,
    name text,
    tbl_name text,
    rootpage integer,
    sql text
);

除了表sqlite_master自身外,在SQLite数据库中的每张数据表都会在sqlite_master表中记录一条数据,其记录的type字段值为“table”以表明该条数据记录的信息为数据表,而在name字段中则记录了数据表的名称,因此我们可以通过查询sqlite_master表来获取SQLite数据库中数据表的信息:

一、查询sqlite_master表数据:

select * from sqlite_master;

二、查询所有的数据表:

select name from sqlite_master where type = 'table';

三、通过查询已知名称的数据表数量来判断数据表是否存在:

select count(*) from sqlite_master where type = 'table' and name = '[数据表名]';

更多信息请参阅:File Format For SQLite Databases

关于Oracle中修改密码有效时间的说明

在Oracle中我们创建的用户密码一般都有着180天的有效时间,一旦超出了这个时间Oracle就会阻止用户登入。
我们可以通过使用其他sysdba账户(如sys)登入到Oracle服务器,并按照以下方法来修改用户密码的有效期:

一、查看用户的proifle:
我们可以先查看用户的proifle是哪个,一般是default:

select username,profile from dba_users;

二、修改密码有效期:
将密码的有效期修改为无限制:

alter profile default limit password_life_time unlimited;

三、修改已过期密码:
如果用户密码已经过期,可能需要重新修改已过期的密码:

alter user [username] identified by [password];