opendatasource 255字符限制问题

wgzaaa 2007-06-15 05:00:59
用opendatasource导入excel到数据库,发现只能导入255个汉字即510个字节,
字段用nvarchar(1000)接收,查询分析器结果放大到1000查询结果还是255个汉字,
请各位帮忙分析,急用,多谢了
...全文
739 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
wgzaaa 2007-06-15
  • 打赏
  • 举报
回复
应该打了,我连着其它两台机器上的个人版,我自己的也是个人版,家里是服务器版的
hellowork 2007-06-15
  • 打赏
  • 举报
回复
看看你单位的SQLSERVER打没打sp4补丁.
wgzaaa 2007-06-15
  • 打赏
  • 举报
回复
多谢多谢,辛苦了,我在家也通过了,可能是环境问题,我回单位再试试
hellowork 2007-06-15
  • 打赏
  • 举报
回复
set @str = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'

select len(@str),datalength(@str)


/*结果1(opendatasource)
966 1932
*/

/*结果2(从EXEL复制)
966 1932
*/
hellowork 2007-06-15
  • 打赏
  • 举报
回复
declare @str nvarchar(4000)
SELECT top 1 @str = 产品类型
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="d:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
print @str
select len(@str),datalength(@str)
hellowork 2007-06-15
  • 打赏
  • 举报
回复
在我的机器上测试正常!
测试环境: Windows Server2003 SP1,SQLSERVER2000 SP4
EXECL文件:d:\test.xls,Sheet1表中只有一行.
(又不能一次全贴出了,只好拆开了,被CSDN折磨死了@!@)
wgzaaa 2007-06-15
  • 打赏
  • 举报
回复
确实为空,我将@str = 去了是有内容的;print 改为select 也是明显的空白
wgzaaa 2007-06-15
  • 打赏
  • 举报
回复
命令已成功完成。
没有其它任何内容,为空了''
hellowork 2007-06-15
  • 打赏
  • 举报
回复
但用opendatasource查长度一样,就是字符数实际只有255
--------------------------------------------------------------------------
也就是说查询的字符并没有被截断,只是在查询分析器中只能显示前255个字符?
再这样用print试试:
declare @str nvarchar(4000)
select top 1 @str = 产品类型 from opendatasource()....
print @str
看看打印出的字符串是否被截断,或把print的字符串复制,再
declare @str nvarchar(4000)
set @str = N'从print复制的字符串'
select len(@str)看看长度.
wgzaaa 2007-06-15
  • 打赏
  • 举报
回复
晕,上面那句话应该是这样的:
以上是用opendatasource查的,但只能看到255个汉字,插入库后也是255个
以下是导入到数据库后select查表
510 255
hellowork 2007-06-15
  • 打赏
  • 举报
回复
看起来象是opendatasource的问题了.
wgzaaa 2007-06-15
  • 打赏
  • 举报
回复
hellowork(一两清风) 按你的方法,查询长度一样,内容是真实的,但用opendatasource查长度一样,就是字符数实际只有255 如下:
智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型发动机,智能型
wgzaaa 2007-06-15
  • 打赏
  • 举报
回复
以上是用opendatasource查的,以下是导入到数据库的,用opendatasource 查询就只能看到255个汉字
510 255
hellowork 2007-06-15
  • 打赏
  • 举报
回复
把EXECL里面的产品类型复制一下,让后在查询分析器中:
declare @str nvarchar(4000)
set @str = N'从EXECL复制的字符串'
select len(@str)看看长度是否与select *,len(产品类型) from openrowset()获得的长度一致.
hellowork 2007-06-15
  • 打赏
  • 举报
回复
既然len(产品类型)长度已经超过了255,那就说明查询本身没有问题,而是查询分析器的问题了.
wgzaaa 2007-06-15
  • 打赏
  • 举报
回复
多谢,改成nvarchar(2000)试下不行,bill024(咖啡熊的没看明白
datalength(产品类型),len(产品类型)
726 363
hellowork 2007-06-15
  • 打赏
  • 举报
回复
使用len(B)或datalength(B)测试一下长度看看.
bill024 2007-06-15
  • 打赏
  • 举报
回复
try:
http://support.microsoft.com/kb/298418/zh-cn
wgzaaa 2007-06-15
  • 打赏
  • 举报
回复
维修台数 ---52 和 那堆n长 的是excel中的内容,
A B
1|维修台数|机器类型
2|52 |智能型发动机,智能型发动机,...
昵称被占用了 2007-06-15
  • 打赏
  • 举报
回复
你把nvarchar(1000)改成nvarchar(2000)试下

加载更多回复(5)
内容概要:本文提出了一种基于直方图的自动模糊C-均值聚类(FCM)算法,用于遥感图像分割,该方法通过Matlab代码实现。该算法创新性地结合图像灰度直方图信息,自动确定聚类数目和初始聚类中心,有效克服了传统FCM算法对初始参数敏感以及需预先设定聚类数的固有局限。通过深入分析直方图的波峰与波谷分布特征,实现聚类参数的自适应初始化,并融合优化的隶属度矩阵更新策略,从而显著提升了图像分割的精度与算法收敛速度。实验验证表明,该方法在多种复杂的遥感图像数据上均表现出优异的分割效果和强鲁棒性,尤其适用于地物类别未知、分布复杂或背景干扰严重的遥感图像处理任务。; 适合人群:具备一定图像处理基础和Matlab编程能力,从事遥感科学、地理信息系统(GIS)、计算机视觉或模式识别等相关领域研究的研发人员和研究生。; 使用场景及目标:①解决遥感图像自动分割中聚类数目难以预先确定的关键问题;②提升模糊C-均值聚类算法在无监督图像分割中的自动化水平和分割精度;③为缺乏先验知识的实际图像分析任务提供一种高效、可靠的自适应聚类解决方案。; 阅读建议:读者应结合提供的Matlab代码,深入理解直方图分析与FCM算法融合的具体实现步骤,重点关注聚类数自动确定和初始中心选取的逻辑推导过程,并通过实际遥感图像数据进行调试与验证,以全面掌握该方法的核心原理与应用技巧。
内容概要:本文提出了一种基于改进粒子群算法的多无人机协同航迹规划方法,并提供了完整的Matlab代码实现。该方法针对多无人机系统在复杂动态环境中的协同飞行需求,通过改进的粒子群优化(PSO)算法解决航迹规划问题,重点优化路径最优性、飞行安全性及多机协作冲突规避能力。文中系统阐述了算法的设计原理、改进策略及其在多无人机协同场景下的应用流程,通过引入动态障碍物建模与任务约束机制,增强了算法在实际任务中的适应性。仿真实验验证了该方法在降低飞行能耗、提升路径质量、加快收敛速度以及增强系统鲁棒性方面的显著优势,适用于侦察、巡检、灾害救援等多无人机集群任务场景。; 适合人群:具备一定编程基础和智能优化算法知识,从事无人机控制、路径规划、智能调度或群体智能相关研究的研发人员及研究生,尤其适合工作1-3年的科研与工程技术人员。; 使用场景及目标:①解决多无人机在复杂环境下协同避障与高效路径规划问题;②提升传统粒子群算法在高维、多约束航迹规划中的搜索效率与全局寻优能力;③为无人机集群执行多样化任务(如区域覆盖、目标搜索、编队飞行)提供稳定可靠的路径规划解决方案; 阅读建议:建议读者结合所提供的Matlab代码进行仿真实践,按照文档结构逐步理解算法实现细节,重点关注粒子群算法的改进机制、多无人机协同约束建模与适应度函数设计部分,同时可通过调整环境参数与无人机数量深化对算法性能的认知与优化能力。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧