EXCEL导入、导出工具DataPie支持多数据库的具体实现方法(获取不同数据库架构信息的区别)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EXCEL导入、导出工具DataPie支持多数据库的具体实现方法(获取不同数据库架构信息的区别)
DataPie功能:可以实现SQL server2008、ACCESS 2007、ORACLE数据库的EXCEL2007导入、导出以及存储过程运算。源码及安装包下载地址:/
本篇文章,主要介绍下,获取不同数据库架构信息的一些方法以及DataPie中多数据库导入导出功能的实现。要完成数据的导入与导出,首先要选择合适的数据库,其次要能够获取数据库中有哪些表、视图、存储过程等,每个表、视图,又有哪些字段等信息。这就需要用到Connection类的GetSchema方法,获取这些信息。
GetSchema方法,该方法用于检索与当前连接的数据库有关的架构信息,从GetSchema方法返回的架构信息以DataTable 的形式传入。
GetSchema方法的第一个可选参数是以字符串形式指定的集合名称。有两种类型的架构集合:所有提供程序通用的通用架构集合以及每个提供程序特定的特定架构集合。返回DataTable,包含支持的架构集合列表、每个架构集合支持的限制数以及所使用的标识符部分数。
SQL Server 架构集合()介绍
来源:/zh-cn/library/ms254969%28v=vs.100%29.aspx
Databases
Procedures
此集合仅在SQL Server 2000 以及更高版本中提供。
此集合仅在SQL Server 2000 以及更高版本中提供。
DATAPIE导入导出功能涉及到的相关实现:
1.IDBUtility接口。
主要包含导入、导出、基本SQL操作方法的定义。具体方法的用途看其名称基本可以知道。using System;
using System.Data;
using System.Collections;
using System.Collections.Generic;
namespace DataPie.DBUtility
{
public interface IDBUtility
{
#region 执行SQL操作
///
/// 运行SQL语句
///
///
#region 返回DataTable对象
///
/// 运行SQL语句,返回DataTable对象
///
DataTable ReturnDataTable(string SQL, int StartIndex, int PageSize);
///
/// 运行SQL语句,返回DataTable对象
///
DataTable ReturnDataTable(string SQL);
#endregion
#region 存储过程操作
int RunProcedure(string storedProcName);
#endregion
#region 获取数据库Schema信息
///
/// 获取SQL SERVER中数据库列表
///
IList
/// 获取数据库中的所有表
IList
/// 获取数据库中指定表名的列信息
IList
/// 获取数据库中的存储过程信息
IList
/// 获取数据库中视图信息
IList
/// 获取数据库指定表的行数
int ReturnTbCount(string tb_name);
#endregion
#region 批量导入数据库
///
/// 批量导入数据库
///
bool SqlBulkCopyImport(IList
}
}
2.SQL SERVER数据库对该接口的具体实现方法
///
/// 运行SQL语句,返回DataTable对象
///
public DataT able ReturnDataTable(string SQL)
{
using (SqlConnection connection = new SqlConnection(connectionString)) {
DataTable dt = new DataT able();
try
{
connection.Open();
SqlDataAdapter command = new SqlDataAdapter(SQL, connection); command.Fill(dt);
}
catch (System.Data.SqlClient.SqlException ex)
{