问题描述
如何连接开启FileStream的sqlserver2008r2数据库?C#中的连接字符串怎么写?server=initialcatalog=userid=password=除了这些还需要写什么?integratedsecurity=SSPI可以连接,但是这个只能是本地连接,远程不行,提示:域不同不能通过安全认证。
解决方案
解决方案二:
远程,server=需要指定IP地址,这个IP是sql服务器配置里指定的IP,这个IP必须是公网IP,就是能在互联网访问到
解决方案三:
引用1楼From_TaiWan的回复:
远程,server=需要指定IP地址,这个IP是sql服务器配置里指定的IP,这个IP必须是公网IP,就是能在互联网访问到
对数据库的操作,用server=initialcatalog=userid=password=可以连接上。但是连接和操作sqlserver2008r2中包含FileStream的表和字段就不行。
解决方案四:
在连接中添加integratedsecurity=SSPI可以连接上sqlserver2008r2中包含FileStream的表和字段。但是远程不行会提示:域不同不能通过安全认证。
解决方案五:
设置integratedsecurity=SSPI,就不用id和pwd了,是以windows身份登录,你需要设置sql服务器,以“windwos身份登录”sqlserver2008r2中包含FileStream的表和字段没听懂
解决方案六:
这只是因为你表字段设置的不正确导致的吧。只要你能正确连接到数据库,写什么数据那还不是你自己说了算。
解决方案七:
CREATETABLEemployees(EmployeeIdINTNOTNULLPRIMARYKEY,PhotoVARBINARY(MAX)FILESTREAMNULL,RowGuidUNIQUEIDENTIFIERNOTNULLROWGUIDCOLUNIQUEDEFAULTNEWID())//C#-------------------------------------SELECT[FileData].PathName(),"+"GET_FILESTREAM_TRANSACTION_CONTEXT()FROM["+_TableNameEN+"]WHERE[FID]='"+fID+"'";SqlTransactiontran=connection.BeginTransaction(IsolationLevel.ReadCommitted);command.Transaction=tran;using(SqlDataReaderreader=command.ExecuteReader()){while(reader.Read()){stringpath=reader.GetString(0);byte[]transactionContext=reader.GetSqlBytes(1).Buffer;StreamfileStream=newSqlFileStream(path,(byte[])reader.GetValue(1),FileAccess.Write,FileOptions.SequentialScan,0);引用了SqlFileStream这个类。
解决方案八:
引用4楼From_TaiWan的回复:
设置integratedsecurity=SSPI,就不用id和pwd了,是以windows身份登录,你需要设置sql服务器,以“windwos身份登录”sqlserver2008r2中包含FileStream的表和字段没听懂
请问以windows身份验证,远程怎么登录?怎么写连接字符串,服务器怎么设置呢?现在直接使用integratedsecurity=SSPI,本地连接服务器都可以,但是远程不知道怎么连接?
解决方案九:
不要再去纠结你的远程连接还是本地连接了,你还是看看你的读写代码吧。原谅我半天没看懂你到底要干嘛。说说你的需求吧,让大家给你提供个别的思路去解决
解决方案十:
引用8楼andywangguanxi的回复:
不要再去纠结你的远程连接还是本地连接了,你还是看看你的读写代码吧。原谅我半天没看懂你到底要干嘛。说说你的需求吧,让大家给你提供个别的思路去解决
是这个意思目前使用了sql2008的一个功能,帮助中说:“若要使用Win32访问FILESTREAMBLOB,必须启用Windows授权。”就是在sql下启用Windows身份验证现在有个问题就是“怎样通过Windows身份验证远程连接SQLServer服务”?现在直接使用integratedsecurity=SSPI,本地连接服务器都可以,但是远程不知道怎么连接,验证通不过连接不上,不能操作FILESTREAM。现在想问的就是:以Windows身份验证远程连接SQLServer,这个的连接字符串怎么写?和数据库需要进行什么具体设置?
解决方案十一:
怎样通过Windows身份验证远程连接SQLServer服务?
解决方案十二:
引用10楼asd97500的回复:
怎样通过Windows身份验证远程连接SQLServer服务?
不能连。
解决方案十三:
引用11楼sp1234的回复:
Quote: 引用10楼asd97500的回复:
怎样通过Windows身份验证远程连接SQLServer服务?不能连。
那混合认证也不成?这个意思目前使用了sql2008的一个功能,帮助中说:“若要使用Win32访问FILESTREAMBLOB,必须启用Windows授权。”好像就是在sql下启用Windows身份验证现在直接使用integratedsecurity=SSPI,本地连接服务器都可以,但是远程不知道怎么连接,验证通不过连接不上,不能操作FILESTREAM。integratedsecurity=SSPI可以连接,但是这个只能是本地连接,远程不行,提示:域不同不能通过安全认证。//C#中使用SqlFileStream访问保存文件//........................command.CommandText="SELECT[FileData].PathName(),"+"GET_FILESTREAM_TRANSACTION_CONTEXT()FROM["+_TableNameEN+"]WHERE[FID]='"+fID+"'";//........................stringpath=reader.GetString(0);byte[]transactionContext=reader.GetSqlBytes(1).Buffer;//........................SqlFileStreamfileStream=newSqlFileStream(path,(byte[])reader.GetValue(1),FileAccess.Read,FileOptions.SequentialScan,0);使用sql用户连接SqlFileStreamfileStream=newSqlFileStream(path,...报错:拒绝访问
解决方案十四:
远程链接sqlserver,需要该sqlserver授权