某些场景下需要将excel文档的数据在数据库中批量刷新,一般情况下这种解决办法很多,
下面就介绍一下,使用sqlserver的管理工具将表格的数据导入到库中作为一个临时表的形式,进行批量刷新的方式。
1.右键数据库,任务,导入数据,下一步
选择数据源,勾选首行包含列名称(F)点下一步
选择DB Provider for SQL Server,然后填写服务器名称,进行身份验证,(数据库的登录名和密码)
当添加服务器名称后,我们会发现数据库会自动展开,然后选择服务器上的数据库,如果没有或者没有你要找的库,那可能就是服务器地址没对哦。这块其实要注意一下,在目标这块其实不止有一个后缀是SQL Server的
这里补充个知识点:
你会发现还有一个Driver for SQL Server (这个ODBC连接)
Provider for SQL Server(这个是OLEDB连接)OLEDB 位于ODBC和应用程之间
点击编辑映射,你会发现sqlserver 自动把Code 编码列转换成了float 列,那么这个在
后续的数据库中使用中就埋下了隐患,我们看下面的例子。
那么我们首先想到的是把float类型转换成nvarchar类型,
这是我们会发现,原来的编码怎么全成这玩意儿了。
于是经过多方尝试,发现如果用float 直接转换到nvarchar 或varchar 就会这样,但是decimal 类型的转换成nvarchar或varchar就可以,于是乎有了以下的方案
竟然可以了!只能说是皇天不负有心人啊!
说了这半天废话其实就一句:
select Convert(nvarchar(20),Convert(decimal(50),Code)) FROM DB
这就可以了!