首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图使用SqlFileStream访问FILESTREAM列会导致锁定。

试图使用SqlFileStream访问FILESTREAM列会导致锁定。
EN

Stack Overflow用户
提问于 2018-03-06 13:29:09
回答 1查看 103关注 0票数 0

我试图将数据写入MS数据库的FILESTREAM列。当在本地机器上运行它时,它可以正常工作,但是一旦连接到远程计算机,它就会锁定。

下面是我所做的(使用NHibernate):

代码语言:javascript
复制
private static readonly string QUERY_GET_PATH =
    "select CompressedData.PathName() as path, GET_FILESTREAM_TRANSACTION_CONTEXT() as con from Data.TimeSeries where FS_ID = :dataId";
private static readonly string QUERY_SET_BLANK =
    "update Data.TimeSeries set CompressedData = Cast('' as varbinary(max)) where FS_ID = :dataId";

// ...

ISession session = ...
var q1 = session.CreateSQLQuery(QUERY_SET_BLANK);
q1.SetGuid("dataId", ts.DataId);
q1.ExecuteUpdate();
var q2 = session.CreateSQLQuery(QUERY_GET_PATH);
q2.SetGuid("dataId", ts.DataId);
var results = q2.List();
var item = (object[])results[0];
var path = (string)item[0];
var context = (byte[])item[1];
return new SqlFileStream(path, context, FileAccess.Write);        

在本地运行此操作很好,但随后我使用如下的连接字符串连接到远程数据库(这不是我的控制范围,我只需写到它):

代码语言:javascript
复制
Server=10.0.0.5; Database=TheDatabase; User Id=foo; Password='barfoo';

返回的路径如下所示:

代码语言:javascript
复制
\\SOME-HOST\SOMEWHERE\v02-A60EC2F8-2B24-11DF-9CC3-AF2E56D89593\Foo\Data\TimeSeries\%!CompressedData\BAD566ED-CD86-42DE-AC71-D13125E89990\VolumeHint-HarddiskVolume1

首先,我认为这是因为从10.0.0.5SOME-HOST的名称解析,但是当向SOME-HOST文件中添加适当的条目(ping到数据库工作)时,它一直被锁定。

可能出什么事了?

后续行动

在等待了几分钟之后,我得到了一个带有消息Win32ExceptionThe user name or password is incorrect

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-05 07:10:57

我将此作为一个答案,这样我就可以将它标记为已解决的问题,尽管它更像是一种解决办法--但我希望至少在这里为可能面临相同或类似问题的其他人留下一个解释。

正如我所发现的,FILESTREAM仅适用于SSPI,而SSPI则只在客户机和服务器位于同一域中或在本地访问数据库时才能工作。这就解释了为什么当我在本地访问数据库时,它首先起作用了。

由于数据库服务器位于第三方与我们一起工作的系统中,所以我不能将我的客户端机器放到他们的域中,也不能将他们的服务器放到我们的域中。我们的解决办法是准备一切,将其压缩,将归档文件传输到数据库服务器,并在那里运行一个服务,在本地连接到数据库,将所有内容放入其中。从安全的角度来看,这是可以的,因为这两个系统只运行在一个本地网络,没有任何外部访问。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49132005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档