未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法

本错误是由于你使用了ACCESS2007版本建立的数据库,但服务器中没有相配合使用的程序,所以出错.

未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。

下载2007 Office system 驱动程序:数据连接组件安装

http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe

此下载将安装一组组件,非 Microsoft Office 应用程序可以使用它们从 2007 Office system 文件中读取数据,
例如从 Microsoft Office Access 2007(mdb 和 accdb)文件以及 Microsoft Office Excel 2007(xls、xlsx 和 xlsb)文件中读取数据。这些组件还支持与 Microsoft Windows SharePoint Services 和文本文件建立连接。

此外,还会安装 ODBC 和 OLEDB 驱动程序,供应用程序开发人员在开发与 Office 文件格式连接的应用程序时使用。

查看更多内容...

Posted in 数据库 at November 12, 2014. by 傻猫 .    Views: 3586    No Comments

MSSQL日期代码格式

1 SELECT CONVERT(varchar(100),GETDATE(),0)05920119:12AM
2 SELECT CONVERT(varchar(100),GETDATE(),1)05/09/11
3 SELECT CONVERT(varchar(100),GETDATE(),2)11.05.09
4 SELECT CONVERT(varchar(100),GETDATE(),3)09/05/11
5 SELECT CONVERT(varchar(100),GETDATE(),4)09.05.11
6 SELECT CONVERT(varchar(100),GETDATE(),5)09-05-11
7 SELECT CONVERT(varchar(100),GETDATE(),6)090511
8 SELECT CONVERT(varchar(100),GETDATE(),7)0509,11
9 SELECT CONVERT(varchar(100),GETDATE(),8)09:13:14
10 SELECT CONVERT(varchar(100),GETDATE(),9)05920119:13:14:670AM
11 SELECT CONVERT(varchar(100),GETDATE(),10)05-09-11
12 SELECT CONVERT(varchar(100),GETDATE(),11)11/05/09
13 SELECT CONVERT(varchar(100),GETDATE(),12)110509
14 SELECT CONVERT(varchar(100),GETDATE(),13)0905201109:13:14:670
15 SELECT CONVERT(varchar(100),GETDATE(),14)09:13:14:670
16 SELECT CONVERT(varchar(100),GETDATE(),20)2011-05-0909:13:14
17 SELECT CONVERT(varchar(100),GETDATE(),21)2011-05-0909:13:14.670
18 SELECT CONVERT(varchar(100),GETDATE(),22)05/09/119:15:33 AM
19 SELECT CONVERT(varchar(100),GETDATE(),23)2011-05-09
20 SELECT CONVERT(varchar(100),GETDATE(),24)09:15:33
21 SELECT CONVERT(varchar(100),GETDATE(),25)2011-05-0909:15:33.140
22 SELECT CONVERT(varchar(100),GETDATE(),100)05920119:15AM
23 SELECT CONVERT(varchar(100),GETDATE(),101)05/09/2011
24 SELECT CONVERT(varchar(100),GETDATE(),102)2011.05.09
25 SELECT CONVERT(varchar(100),GETDATE(),103)09/05/2011
26 SELECT CONVERT(varchar(100),GETDATE(),104)09.05.2011
27 SELECT CONVERT(varchar(100),GETDATE(),105)09-05-2011
28 SELECT CONVERT(varchar(100),GETDATE(),106)09052011
29 SELECT CONVERT(varchar(100),GETDATE(),107)0509,2011
30 SELECT CONVERT(varchar(100),GETDATE(),108)09:16:38
31 SELECT CONVERT(varchar(100),GETDATE(),109)05920119:16:38:543AM
32 SELECT CONVERT(varchar(100),GETDATE(),110)05-09-2011
33 SELECT CONVERT(varchar(100),GETDATE(),111)2011/05/09
34 SELECT CONVERT(varchar(100),GETDATE(),112)20110509
35 SELECT CONVERT(varchar(100),GETDATE(),113)0905201109:17:19:857
36 SELECT CONVERT(varchar(100),GETDATE(),114)09:17:19:857
37 SELECT CONVERT(varchar(100),GETDATE(),120)2011-05-0909:17:19
38 SELECT CONVERT(varchar(100),GETDATE(),121)2011-05-0909:17:19.857
39 SELECT CONVERT(varchar(100),GETDATE(),126)2011-05-09T09:17:19.857
40 SELECT CONVERT(varchar(100),GETDATE(),130)6 ????? ???????14329:17:19:857AM
41 SELECT CONVERT(varchar(100),GETDATE(),131)6/06/14329:17:19:857AM

Posted in 数据库 at March 1, 2014. by 傻猫 .    Views: 3437    No Comments

关于MSSQL update 累加更新null的问题

遇到一个问题,累加更新备注字段

update 备注=备注+'新的内容'  where id=110

这样更新没有问题,但是当备注为null的时候,就有问题了

null+任何字符串都是null,我操,所以更新不成功,必须要转换一下。

update 备注=isnull(备注,'')+'新的内容'  where id=110

加一个判断就可以了。

Posted in 数据库 at October 28, 2013. by 傻猫 .    Views: 3439    No Comments

MSSQL复制表

复制表结构有句型的--跨数据库

--复制结构+数据
select * into 数据库名.dbo.新表名 from 数据库名.dbo.原表名
 
--只复制结构
select * into 数据库名.dbo.新表名 from 数据库名.dbo.原表名 where 1=0

--复制到临时表
select * into #temptablename from 数据库名.dbo.原表名 where 1=0

Posted in 数据库 at January 22, 2013. by 傻猫 .    Views: 4061    No Comments

MSSQL 游标多参数/取多列值

游标多参数循环操作,效率确实高了不少。

CREATE                  PROCEDURE p  AS

declare  @UserID  int
declare  @MinID  int
declare  @UserTEL varchar(20)
 
declare  cur_getUserID  cursor  for
      select main_id,tel,min(id)  from tel group by tel,main_id having count(*)>1    
 --select main_id,tel,min(id)  from tel where main_id=962192 and tel='15882188374' group by tel,main_id

open  cur_getUserID

fetch  next  from  cur_getUserID into @UserID,@UserTEL,@MinID
while(@@fetch_status  =  0)
begin 
 
 delete from tel where main_id=@UserID and tel=@UserTEL and id<>@MinID

 fetch  next  from  cur_getUserID into @UserID,@UserTEL,@MinID
end

close  cur_getUserID
deallocate  cur_getUserID

GO

Posted in 数据库 at January 9, 2013. by 傻猫 .    Views: 3741    No Comments

MSSQL查出一个数据库所有表名及表中含有数据条数?

MSSQL查出一个数据库所有表名及表中含有数据条数?

EXEC sp_MSforeachtable @command1="print '?'", @command2= "SELECT count(*) FROM ? "

Posted in 数据库 at January 21, 2009. by 傻猫 .    Views: 7113    3 Comments

MSSQL获取表中所有字段名称

select name from syscolumns where id=object_id('表名') order by colid

该SQL查询条件可以获得指定表的所有字段名称

以colid排序后,显示的字段名称顺序跟表设计的顺序是一致的,不排序的话就是字段的首字母排序。

Posted in 数据库 at October 7, 2008. by 傻猫 .    Views: 4262    No Comments

MSSQL分页存储过程

一段MSSQL分页的存储过程,先收藏了,备用。

CREATE PROCEDURE GTNews_Search
(
             @SearchSQL nvarchar(4000),
 @RecordCountSQL nvarchar(4000),
 @PageIndex int=0,
 @PageSize int=25
)
AS
BEGIN


DECLARE @StartTime datetime
 DECLARE @RowsToReturn int
 DECLARE @PageLowerBound int
 DECLARE @PageUpperBound int
 DECLARE @Count int

-- Used to calculate cost of query
 SET @StartTime = GetDate()

-- Set the rowcount
 SET @RowsToReturn = @PageSize * (@PageIndex + 1)
 SET ROWCOUNT @RowsToReturn

-- Calculate the page bounds
 SET @PageLowerBound = @PageSize * @PageIndex
 SET @PageUpperBound = @PageLowerBound + @PageSize + 1

-- Create a temp table to store the results in
 CREATE TABLE #SearchResults
 (
  IndexID int IDENTITY (1, 1) NOT NULL,
  NewsID int
 )

-- Fill the temp table
 INSERT INTO #SearchResults (NewsID)
 exec (@SearchSQL)

-- SELECT actual search results from this table
 SELECT
  D.*,catname=(SELECT title FROM GT_news_cat WHERE id=D.catid)
 FROM
  GT_news_data D,
  #SearchResults R
 WHERE
  R.NewsID = D.ID AND
  R.IndexID > @PageLowerBound AND
  R.IndexID < @PageUpperBound

 -- Do we need to return a record estimate?
 exec (@RecordCountSQL) 


            SELECT Duration = GetDate() - @StartTime
END
GO

Posted in 数据库 at August 14, 2008. by 傻猫 .    Views: 3626    No Comments