今天出现的一个bug,挺有意思,记下来留个纪念 :)
现象描述:
用bulk insert的时候,在sqlServer数据库服务器上做了一个到本地导出的一个csv文件的硬盘映射,出现的问题是:在服务器上用客户端执行bulk insert没有问题,但是在我本地的机器上用jdbc执行的时候,死活执行不成功,报的错误是访问文件夹出错。
分析:
1. 刚开始的分析是从bulk insert上找问题,因为这个用的很少,但是无果,因为本来就不应该,因为数据库服务器上执行是没有问题的;
2. 后来想到的是权限的问题,因为硬盘映射这个东西,不安全,所以windows肯定要做一些安全上的限制,于是先将导出的文件复制到数据库服务器的一个本地文件夹,jdbc执行不报错,初步判断是权限的问题应该没错。
3. 如果是权限的问题,可以进一步分析,这个账户可以访问本地文件,但不可以执行远程的文件,这个应该是操作系统的权限啊,于是查看去windows服务里查找sqlServer的属性,登陆属性里赫然写着本地系统账户,改成admin账户,重启数据库服务器,一切OK。
现象描述:
用bulk insert的时候,在sqlServer数据库服务器上做了一个到本地导出的一个csv文件的硬盘映射,出现的问题是:在服务器上用客户端执行bulk insert没有问题,但是在我本地的机器上用jdbc执行的时候,死活执行不成功,报的错误是访问文件夹出错。
分析:
1. 刚开始的分析是从bulk insert上找问题,因为这个用的很少,但是无果,因为本来就不应该,因为数据库服务器上执行是没有问题的;
2. 后来想到的是权限的问题,因为硬盘映射这个东西,不安全,所以windows肯定要做一些安全上的限制,于是先将导出的文件复制到数据库服务器的一个本地文件夹,jdbc执行不报错,初步判断是权限的问题应该没错。
3. 如果是权限的问题,可以进一步分析,这个账户可以访问本地文件,但不可以执行远程的文件,这个应该是操作系统的权限啊,于是查看去windows服务里查找sqlServer的属性,登陆属性里赫然写着本地系统账户,改成admin账户,重启数据库服务器,一切OK。