Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 问题以从SQL Server检索超过100个字符的Excel文件名_.net - Fatal编程技术网

.net 问题以从SQL Server检索超过100个字符的Excel文件名

.net 问题以从SQL Server检索超过100个字符的Excel文件名,.net,.net,我有一个.Net程序,可以从SQLServer表中检索excel。一切正常 现在,一个用户有一个超过100个的文件名,这显示了一个问题。准确地说是103。我已将附件文件名长度增加到150。因此,数据类型如下所示 附件名称varchar(150)-文件名 AtachmentContent varbinary(最大)-存储在二进制文件中 AttachmentExtension varchar(5)-每个文件的最后3或4位数字 当我运行.net程序时,我可以看到正在调试文件夹中检索文件。但此后文件无法

我有一个.Net程序,可以从SQLServer表中检索excel。一切正常

现在,一个用户有一个超过100个的文件名,这显示了一个问题。准确地说是103。我已将附件文件名长度增加到150。因此,数据类型如下所示

附件名称varchar(150)-文件名 AtachmentContent varbinary(最大)-存储在二进制文件中 AttachmentExtension varchar(5)-每个文件的最后3或4位数字

当我运行.net程序时,我可以看到正在调试文件夹中检索文件。但此后文件无法打开。Excel将打开一个消息框,其中要求“缩短文件名”

停止.net执行后,手动尝试打开该文件。这与我尝试发射时收到的信息相同。如果缩短文件名,则可以打开excel文件

我不确定这里发生了什么。我试着使用一个普通的excel,文件名中有将近160个字符。这被认为是发射没有任何问题


请提供帮助。

请显示试图打开文件的代码。还有,这个文件是否被深埋在一堆文件夹中?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”)。