本文将分享MSSQLServer2000数据库分离与附加的详细内容,并且还将对sqlserver数据库分离及附加进行详尽解释,此外,我们还将为大家带来关于asp.net-mvc-3–使用存储过程(MS
本文将分享MSSQL Server2000数据库分离与附加的详细内容,并且还将对sql server数据库分离及附加进行详尽解释,此外,我们还将为大家带来关于asp.net-mvc-3 – 使用存储过程(MSSQL)时Dapper的缓存解决方案、BI学习走过的路---MSSQL 2008 安装过程、C# 数据类型映射 (SQLite,MySQL,MSSQL,Oracle)、Connect to MSSQL Database using Flask-SQLAlchemy的相关知识,希望对你有所帮助。
本文目录一览:
MSSQL Server2000数据库分离与附加(sql server数据库分离及附加)
如果您数据库系统安装在系统盘(比如C盘),由于C盘容易受病毒侵害,您也许希望您的数据存放在非系统盘(比如D盘),要做的这点很简单,您并不需要重装数据库,只要把数据分离,然后将相关文件复制到D盘的某个目录,接着附加数据库即可。 SQL Server 2000允许分
如果您数据库系统安装在系统盘(比如c盘),由于c盘容易受病毒侵害,您也许希望您的数据存放在非系统盘(比如d盘),要做的这点很简单,您并不需要重装数据库,只要把数据“分离”,然后将相关文件复制到d盘的某个目录,接着“附加”数据库即可。
SQL Server 2000允许分离数据库的数据和事务日志文件,然后将其重新附加到同一台或另一台服务器上。分离数据库将从SQL Server 删除数据库,但是保持在组成该数据库的数据和事务日志文件中的数据库完好无损。然后这些数据和事务日志文件可以用来将数据库附加到任何SQL Server实例上,这使数据库的使用状态与它分离时的状态完全相同。
数据库分离和附加其实很简单,您即使是初次接触数据库,,做起来也很容易。
一、分离数据库
1、点击“程序》Microsoft SQL Server》企业管理》”,打开企业管理器
2、展开服务器组,然后展开服务器,选中要分离的数据库
3、点击鼠标右键“所有任务》分离数据库”,出现如下窗口

4、点击确定,该选定的数据库就被分离。
应注意,只有“使用本数据库的连接”数为0时,该数据库才能分离。所以分离数据库时尽量断开所有对要分离数据库操作的连接,如果还有连接数据库的程序,会出现数据库的连接状态窗口,显示正在连接此数据库的机器以及名称,点击清除按钮将从服务器强制断开现有的连接。
二、附加数据库
1、复制移动数据库文件
在附加数据库之前,您必须将与数据库关联的 .MDF(主数据文件).LDF(事务日志文件)这两个文件复制到目标服务器上,或是同一服务器的不同文件目录下。这两个文件一般位于C:Program FilesMicrosoft SQL ServerMSSQLData目录下。
2、点击“程序》Microsoft SQL Server》企业管理》”,打开企业管理器
3、展开服务器组,然后展开服务器
4、右击"数据库",然后选择“所有任务》附加数据库”,弹出窗口

5、输入要附加的数据库的MDF名称。如果不确定文件位于何处,单击浏览("...")搜索。若要确保指定的 MDF 文件正确,请单击"验证"。在"附加为"框内,输入数据库的名称。数据库名称不能与任何现有数据库名称相同。指定数据库的所有者
6、单击"确定"按钮。新附加的数据库的数据库节点即创建在"数据库"文件夹中。

asp.net-mvc-3 – 使用存储过程(MSSQL)时Dapper的缓存解决方案
我正在使用Dapper主要用于调用数据库MSsql 2008 R2中的存储过程.我没有映射到数据库表的类.大多数数据以IEnumerable< Dynamic>结尾.并传输到屏幕上的网格.
我可以使用现成的数据缓冲解决方案吗? (我需要在MVC上使用它).
数据库中的数据本质上是静态的和动态的.我使用存储库模型来访问数据.
解决方法
Dapper不包含任何内置数据缓存功能(虽然它在内部为元编程层使用了广泛的缓存):它本身就是针对ADO.NET的东西 – 但是,你几乎可以使用任何现成的缓存组件,包括HTTP运行时缓存(HttpContext.Current.Cache)或更新的ObjectCache等实现.因为这些只是对象,它应该工作正常.
如果您使用分布式缓存(可能通过app-fabric,redis或memcached),那么您需要将数据序列化.在那种情况下,我强烈建议使用正式的POCO类型进行绑定,而不是动态API.例如,我们在内部使用dapper来填充用protobuf-net标记进行注释以进行序列化的POCO,并通过BookSleeve存储到redis.这听起来比实际更复杂.

BI学习走过的路---MSSQL 2008 安装过程
学习BI,开始的路程十分坎坷啊。
我学习的是针对MS sql Server的BI开发
刚熟悉了各种术语之后,开始安装数据库、sql服务、SSAS、SSIS
结果悲催的是,从官网下载了Express版本的2008数据库,怎么找都找不到SSAS、SSIS等服务。
为此足足失眠了3天左右的时间……
不过,功夫不负有心人,终于找到了一个可以十分简单的下载微软软件的网站,再次分享给各位朋友。
http://msdn.itellyou.cn/
同时,在此处分享一个sql Server 2008的安装图解
http://www.cnblogs.com/downmoon/archive/2010/05/18/1738479.html
国内关于BI的学习,在网络上资料比较有限,而且杂乱,本人在学习过程中会将一些学习心得在此与大家分享下,希望能给大家带来帮助。

C# 数据类型映射 (SQLite,MySQL,MSSQL,Oracle)
MSSQL

SQLITE

一、C# vs SQLite:
C# |
SQLite |
字段名 |
类型 |
库类型 |
GetFieldType(#) |
转换 |
备注 |
F_BOOL |
bool |
BIT NOT NULL |
Boolean |
|
|
F_BOOL_NULL |
bool? |
BIT |
Boolean |
|
|
F_SBYTE |
sbyte |
INT8 NOT NULL |
SByte |
sbyte_ |
|
F_SBYTE_NULL |
sbyte? |
INT8 |
SByte |
sbyte_ |
|
F_BYTE |
byte |
UINT8 NOT NULL |
Byte |
|
|
F_BYTE_NULL |
byte? |
UINT8 |
Byte |
|
|
F_SHORT |
short |
INT16 NOT NULL |
Int16 |
|
|
F_SHORT_NULL |
short? |
INT16 |
Int16 |
|
|
F_USHORT |
ushort |
UINT16 NOT NULL |
UInt16 |
ushort_ |
|
F_USHORT_NULL |
ushort? |
UINT16 |
UInt16 |
ushort_ |
|
F_INT |
int |
INT32 NOT NULL |
Int32 |
|
|
F_INT_NULL |
int? |
INT32 |
Int32 |
|
|
F_UINT |
uint |
UINT32 NOT NULL |
UInt32 |
uint_ |
|
F_UINT_NULL |
uint? |
UINT32 |
UInt32 |
uint_ |
|
F_LONG |
long |
INT64 NOT NULL |
Int64 |
|
|
F_LONG_NULL |
long? |
INT64 |
Int64 |
|
|
F_ULONG |
ulong |
UINT64 NOT NULL |
UInt64 |
ulong_ |
|
F_ULONG_NULL |
ulong? |
UINT64 |
UInt64 |
ulong_ |
|
F_FLOAT |
float |
FLOAT NOT NULL |
Double |
|
不转兼容 |
F_FLOAT_NULL |
float? |
FLOAT |
Double |
|
不转兼容 |
F_DOUBLE |
double |
DOUBLE NOT NULL |
Double |
|
|
F_DOUBLE_NULL |
double? |
DOUBLE |
Double |
|
|
F_DECIMAL |
decimal |
DECIMAL NOT NULL |
Decimal |
|
存取不一:<F_DECIMAL>: [-79228162514264300000000000000] != [-79228162514264337593543950335] |
F_DECIMAL_NULL |
decimal? |
DECIMAL |
Decimal |
|
存取不一:<F_DECIMAL>: [-79228162514264300000000000000] != [-79228162514264337593543950335] |
F_CHAR |
char |
TEXT NOT NULL |
String |
|
|
F_CHAR_NULL |
char? |
TEXT |
String |
|
|
F_STRING |
string |
TEXT NOT NULL |
String |
|
|
F_STRING_NULL |
string |
TEXT |
String |
|
|
F_DATETIME |
DateTime |
TEXT NOT NULL |
String |
|
|
F_DATETIME_NULL |
DateTime? |
TEXT |
String |
|
|
|
|
|
|
|
|
二、 C# vs MySQL:
C# |
MySQL |
字段名 |
类型 |
库类型 |
GetFieldType(#) |
转换 |
备注 |
F_BOOL |
bool |
BOOL NOT NULL |
Boolean |
|
|
F_BOOL_NULL |
bool? |
BOOL NULL |
Boolean |
|
|
F_SBYTE |
sbyte |
TINYINT NOT NULL |
SByte |
sbyte_ |
|
F_SBYTE_NULL |
sbyte? |
TINYINT NULL |
SByte |
sbyte_ |
|
F_BYTE |
byte |
TINYINT UNSIGNED NOT NULL |
Byte |
|
|
F_BYTE_NULL |
byte? |
TINYINT UNSIGNED NULL |
Byte |
|
|
F_SHORT |
short |
SMALLINT NOT NULL |
Int16 |
|
|
F_SHORT_NULL |
short? |
SMALLINT NULL |
Int16 |
|
|
F_USHORT |
ushort |
SMALLINT UNSIGNED NOT NULL |
UInt16 |
ushort_ |
|
F_USHORT_NULL |
ushort? |
SMALLINT UNSIGNED NULL |
UInt16 |
ushort_ |
|
F_INT |
int |
INT NOT NULL |
Int32 |
|
|
F_INT_NULL |
int? |
INT NULL |
Int32 |
|
|
F_UINT |
uint |
INT UNSIGNED NOT NULL |
UInt32 |
uint_ |
|
F_UINT_NULL |
uint? |
INT UNSIGNED NULL |
UInt32 |
uint_ |
|
F_LONG |
long |
BIGINT NOT NULL |
Int64 |
|
|
F_LONG_NULL |
long? |
BIGINT NULL |
Int64 |
|
|
F_ULONG |
ulong |
BIGINT UNSIGNED NOT NULL |
UInt64 |
ulong_ |
|
F_ULONG_NULL |
ulong? |
BIGINT UNSIGNED NULL |
UInt64 |
ulong_ |
|
F_FLOAT |
float |
FLOAT NOT NULL |
Single |
|
极值溢出 |
F_FLOAT_NULL |
float? |
FLOAT NULL |
Single |
|
极值溢出 |
F_DOUBLE |
double |
DOUBLE NOT NULL |
Double |
|
|
F_DOUBLE_NULL |
double? |
DOUBLE NULL |
Double |
|
|
F_DECIMAL |
decimal |
DECIMAL NOT NULL |
Decimal |
|
极值溢出 |
F_DECIMAL_NULL |
decimal? |
DECIMAL NULL |
Decimal |
|
极值溢出 |
F_CHAR |
char |
CHARACTER NOT NULL |
String |
|
中文报错 |
F_CHAR_NULL |
char? |
CHARACTER NULL |
String |
|
中文报错 |
F_STRING |
string |
VARCHAR(50) NOT NULL |
String |
|
|
F_STRING_NULL |
string |
VARCHAR(50) NULL |
String |
|
|
F_DATETIME |
DateTime |
DATETIME NOT NULL |
DateTime |
|
|
F_DATETIME_NULL |
DateTime? |
DATETIME NULL |
DateTime |
|
|
|
|
|
|
|
|
三、 C# vs MSSQL:
C# |
MSSQL |
字段名 |
类型 |
库类型 |
GetFieldType(#) |
转换 |
备注 |
F_BOOL |
bool |
bit NOT NULL |
Boolean |
|
|
F_BOOL_NULL |
bool? |
bit NULL |
Boolean |
|
|
F_SBYTE |
sbyte |
smallint NOT NULL |
Int16 |
sbyte_short |
|
F_SBYTE_NULL |
sbyte? |
smallint NULL |
Int16 |
sbyte_short |
|
F_BYTE |
byte |
tinyint NOT NUL; |
Byte |
|
|
F_BYTE_NULL |
byte? |
tinyint NULL |
Byte |
|
|
F_SHORT |
short |
smallint NOT NULL |
Int16 |
|
|
F_SHORT_NULL |
short? |
smallint NULL |
Int16 |
|
|
F_USHORT |
ushort |
int NOT NULL |
Int32 |
ushort_int |
|
F_USHORT_NULL |
ushort? |
int NULL |
Int32 |
ushort_int |
|
F_INT |
int |
int NOT NULL |
Int32 |
|
|
F_INT_NULL |
int? |
int NULL |
Int32 |
|
|
F_UINT |
uint |
bigint NOT NULL |
Int64 |
uint_long |
|
F_UINT_NULL |
uint? |
bigint NULL |
Int64 |
uint_long |
|
F_LONG |
long |
bigint NOT NULL |
Int64 |
|
|
F_LONG_NULL |
long? |
bigint NULL |
Int64 |
|
|
F_ULONG |
ulong |
real NOT NULL |
Single |
ulong_float |
|
F_ULONG_NULL |
ulong? |
real NULL |
Single |
ulong_float |
|
F_FLOAT |
float |
real NOT NULL |
Single |
|
|
F_FLOAT_NULL |
float? |
real NULL |
Single |
|
|
F_DOUBLE |
double |
float NOT NULL |
Double |
|
|
F_DOUBLE_NULL |
double? |
float NULL |
Double |
|
|
F_DECIMAL |
decimal |
decimal NOT NULL |
Decimal |
|
极值溢出 |
F_DECIMAL_NULL |
decimal? |
decimal NULL |
Decimal |
|
极值溢出 |
F_CHAR |
char |
char(1) NOT NULL |
String |
|
|
F_CHAR_NULL |
char? |
char(1) NULL |
String |
|
|
F_STRING |
string |
varchar(50) NOT NULL |
F_STRING: |
|
|
F_STRING_NULL |
string |
varchar(50) NULL |
String |
|
|
F_DATETIME |
DateTime |
datetime NOT NULL |
DateTime |
|
必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间。 |
F_DATETIME_NULL |
DateTime? |
datetime NULL |
DateTime |
|
|
|
|
|
|
|
|
四、C# vs Oracle:
C# |
Oracle |
字段名 |
类型 |
库类型 |
GetFieldType(#) |
转换 |
备注 |
F_BOOL |
bool |
CHAR(1) NOT NULL |
String |
bool_string |
|
F_BOOL_NULL |
bool? |
CHAR(1) |
String |
bool_string |
|
F_SBYTE |
sbyte |
NUMBER(3) NOT NULL |
Int16 |
sbyte_short |
|
F_SBYTE_NULL |
sbyte? |
NUMBER(3) |
Int16 |
sbyte_short |
|
F_BYTE |
byte |
NUMBER(3) NOT NULL |
Int16 |
byte_short |
|
F_BYTE_NULL |
byte? |
NUMBER(3) |
Int16 |
byte_short |
|
F_SHORT |
short |
NUMBER(5) NOT NULL |
Int32 |
short_int |
|
F_SHORT_NULL |
short? |
NUMBER(5) |
Int32 |
short_int |
|
F_USHORT |
ushort |
NUMBER(5) NOT NULL |
Int32 |
ushort_int |
|
F_USHORT_NULL |
ushort? |
NUMBER(5) |
Int32 |
ushort_int |
|
F_INT |
int |
NUMBER(10) NOT NULL |
Int64 |
int_long |
|
F_INT_NULL |
int? |
NUMBER(10) |
Int64 |
int_long |
|
F_UINT |
uint |
NUMBER(10) NOT NULL |
Int64 |
uint_long |
|
F_UINT_NULL |
uint? |
NUMBER(10) |
Int64 |
uint_long |
|
F_LONG |
long |
NUMBER(19) NOT NULL |
Decimal |
long_decimal |
|
F_LONG_NULL |
long? |
NUMBER(19) |
Decimal |
long_decimal |
|
F_ULONG |
ulong |
NUMBER(19) NOT NULL |
Decimal |
ulong_decimal |
|
F_ULONG_NULL |
ulong? |
NUMBER(19) |
Decimal |
ulong_decimal |
|
F_FLOAT |
float |
BINARY_FLOAT NOT NULL |
Single |
|
|
F_FLOAT_NULL |
float? |
BINARY_FLOAT |
Single |
|
|
F_DOUBLE |
double |
BINARY_DOUBLE NOT NULL |
Double |
|
极值溢出 |
F_DOUBLE_NULL |
double? |
BINARY_DOUBLE |
Double |
|
极值溢出 |
F_DECIMAL |
decimal |
DECIMAL(33,3) NOT NULL |
Decimal |
|
|
F_DECIMAL_NULL |
decimal? |
DECIMAL(33,3) |
Decimal |
|
|
F_CHAR |
char |
CHAR(1) NOT NULL |
String |
|
|
F_CHAR_NULL |
char? |
CHAR(1) |
String |
|
|
F_STRING |
string |
VARCHAR(50) NOT NULL |
String |
|
不允许空字符 |
F_STRING_NULL |
string |
VARCHAR(50) |
String |
|
不允许空字符 |
F_DATETIME |
DateTime |
TIMESTAMP NOT NULL |
DateTime |
|
大值读取报错 |
F_DATETIME_NULL |
DateTime? |
TIMESTAMP |
DateTime |
|
大值读取报错 |
|
|
|
|
|
|
附、类型转换:
using System;
using System.Collections.Generic;
using System.Text; namespace vJine.Core.ORM { public class TypeConverter { public class sbyte_ /*: IConverter<sbyte>*/ { public static sbyte CONV_Q(object V) { return (sbyte)V; } } public class ushort_ /*: IConverter<ushort>*/ { public static ushort CONV_Q(object V) { return (ushort)V; } } public class uint_ /*: IConverter<uint>*/ { public static uint CONV_Q(object V) { return (uint)V; } } public class ulong_ /*: IConverter<ulong>*/ { public static ulong CONV_Q(object V) { return (ulong)V; } } public class bool_string /*: IConverter<bool>*/ { public static object CONV_I(object V) { if ((bool)V == true) { return "1"; } else { return "0"; } } public static bool CONV_Q(object V) { if ((string)V == "1") { return true; } else { return false; } } } public class sbyte_short /*: IConverter<sbyte>*/ { public static object CONV_I(object V) { return Convert.ToInt16(V); } public static sbyte CONV_Q(object V) { return Convert.ToSByte(V); } } public class byte_short /*: IConverter<byte>*/ { public static object CONV_I(object V) { return Convert.ToInt16(V); } public static byte CONV_Q(object V) { return Convert.ToByte(V); } } public class short_int /*: IConverter<short>*/ { public static object CONV_I(object V) { return Convert.ToInt32(V); } public static short CONV_Q(object V) { return Convert.ToInt16(V); } } public class ushort_int /*: IConverter<ushort>*/ { public static object CONV_I(object V, string Name) { return Convert.ToInt32(V); } public static ushort CONV_Q(object V, string Name) { return Convert.ToUInt16(V); } } public class int_long /*: IConverter<int>*/ { public static object CONV_I(object V) { return Convert.ToInt64(V); } public static int CONV_Q(object V) { return Convert.ToInt32(V); } } public class uint_long /*: IConverter<uint>*/ { public static object CONV_I(object V) { return Convert.ToInt64(V); } public static uint CONV_Q(object V) { return Convert.ToUInt32(V); } } public class long_decimal /*: IConverter<long>*/