.net 问题以从SQL Server检索超过100个字符的Excel文件名
我有一个.Net程序,可以从SQLServer表中检索excel。一切正常 现在,一个用户有一个超过100个的文件名,这显示了一个问题。准确地说是103。我已将附件文件名长度增加到150。因此,数据类型如下所示 附件名称varchar(150)-文件名 AtachmentContent varbinary(最大)-存储在二进制文件中 AttachmentExtension varchar(5)-每个文件的最后3或4位数字 当我运行.net程序时,我可以看到正在调试文件夹中检索文件。但此后文件无法打开。Excel将打开一个消息框,其中要求“缩短文件名” 停止.net执行后,手动尝试打开该文件。这与我尝试发射时收到的信息相同。如果缩短文件名,则可以打开excel文件 我不确定这里发生了什么。我试着使用一个普通的excel,文件名中有将近160个字符。这被认为是发射没有任何问题.net 问题以从SQL Server检索超过100个字符的Excel文件名,.net,.net,我有一个.Net程序,可以从SQLServer表中检索excel。一切正常 现在,一个用户有一个超过100个的文件名,这显示了一个问题。准确地说是103。我已将附件文件名长度增加到150。因此,数据类型如下所示 附件名称varchar(150)-文件名 AtachmentContent varbinary(最大)-存储在二进制文件中 AttachmentExtension varchar(5)-每个文件的最后3或4位数字 当我运行.net程序时,我可以看到正在调试文件夹中检索文件。但此后文件无法
请提供帮助。请显示试图打开文件的代码。还有,这个文件是否被深埋在一堆文件夹中?Windows在长绝对路径名方面有问题。是的,这在大长路径中。。这里-H:\Data\Ret Projects\Request Form Change\Workflow\Workflow\u5\u11\u2018\uProductionRelease\u2.1.0\uAfter\uProduction\uRelease\Workflow\bin\Debugusing(FileStream fs=new FileStream(name,FileMode.Create,FileAccess.Write,FileShare.Read)){.fs.Write(documentBytes,0,readBytes);System.Diagnostics.Process prc=new System.Diagnostics.Process();prc.StartInfo.FileName=fs.Name;prc.Start();//index+=readBytes;}这是代码号。这是Windows的限制。您可以用较短的路径名将这些文件放在其他地方(例如,将文件转储到驱动器根目录下的文件夹中,如“C:\excelFiles”)。