请教一个邹建老师书上的问题.
我看了邹建老师的 < <SQL Server200开发与管理> > 一书中的 "数据导入导出 "一节,始终看不明白远程客户端导入Execl数据的方法;
比如我现在有一个Execl表,要导到IP地址为192.168.1.10的SQL Server服务器上要如何写?
我原来是这样写的:
CREATE PROCEDURE pro_t0419
@fileName nvarchar(50)
AS
exec( '
select *
from OpenDataSource( ' 'Microsoft.Jet.OLEDB.4.0 ' ',
' 'Data Source= '+@fileName+ ';User ID=Admin;Password=;Extended properties=Excel 5.0 ' ')...[Sheet1$]
')
这样只能在本地计算机导入,如果要在远程导入该怎么做?
另外我还不清楚什么叫 "通用命名规则(UNC) "
[解决办法]
...
UNC (Universal Naming Convention) / 通用命名规则,也叫通用命名规范、通用命名约定。 网络(主要指局域网)上资源的完整 Windows 2000 名称。它符合 \servername\sharename 格式,其中 servername 是服务器名,sharename 是共享资源的名称。目录或文件的 UNC 名称可以包括共享名称下的目录路径,格式为: \servername\sharename\directory\filename.*
[解决办法]
我知道用导入导出工具可以
[解决办法]
192.168.1.10的SQL Server服务器上加
CREATE PROCEDURE pro_t0419
@fileName nvarchar(50)
AS
exec( '
select * into 表名
from OpenDataSource( ' 'Microsoft.Jet.OLEDB.4.0 ' ',
' 'Data Source= '+@fileName+ ';User ID=Admin;Password=;Extended properties=Excel 5.0 ' ')...[Sheet1$]
')
如果原表存在
CREATE PROCEDURE pro_t0419
@fileName nvarchar(50)
AS
exec( '
insert into 表名
select *
from OpenDataSource( ' 'Microsoft.Jet.OLEDB.4.0 ' ',
' 'Data Source= '+@fileName+ ';User ID=Admin;Password=;Extended properties=Excel 5.0 ' ')...[Sheet1$]
')
[解决办法]
远程的, 要用:
\\servername\share folder\filename
的形式, 并且要求你的sql服务的启动账户对\\servername\share folder\有适当的访问权限.