直接导入估计会出错的,我想导的时候,SQL肯定要锁定写操作吧,但是这肯定是不会成功的。

解决方案 »

  1.   

    按照我的经验,应该是先将文件改名,让Radius生成新的文件,然后就可以将文件倒入到SQL Server里。
      

  2.   

    YANG_兄指出的写入冲突,应该是这个原因。所以我建议您看看能不能把日志放进数据库中去,这样就好办了。
      

  3.   

    zqllyh(您问我也问总可以问出个所以然),我两个贴字你都跟啊,谢谢你!你说的有道理,居然能生成csv,就能生成数据源中!但好像不太行,一直在radius 服务器上面调试,产生的只是.csv文件,可能是写入冲突吧!谁能解决这个问题啊?
      

  4.   

    1、将该CSV文件放到D:\TD目录;2、控制面板->管理工具->数据源ODBC->系统DSN->添加->TEXT-DRIVER
       数据源名=csvtest
       选择目录=d:\TD
       ->确定、完成3、SQL企业管理器->安全性->链接服务器->新建链接服务器
       链接服务器名:sqlcsvtest
       提供程序名称:Ole Db for ODBC
       数据源:csvtest
       ->确定、完成4、SQL查询分器,执行下列语句,没有问题。
    select * 
    from openquery(sqlcsvtest,'select * from [VoIP Accounting active.csv]')select * 
    into #a
    from openquery(sqlcsvtest,'select * from [VoIP Accounting active.csv]')
    select * from #a5、我用excl将这个文件打开,然后再在查询分析器作测试:
    select *  from openquery(sqlcsvtest,'select * from [VoIP Accounting active.csv]')
    结果:
    --服务器: 消息 7399,级别 16,状态 1,行 1
    --OLE DB 提供程序 'MSDASQL' 报错。 
    --[OLE/DB provider returned message: [Microsoft][ODBC Text Driver] Microsoft Jet 
    --数据库引擎打不开文件'(未知的)'。  它已经被别的用户以独占方式打开,
    --或没有查看数据的权限。]
    这是因为odbc不能独占这个文件,打开失败。可能你的也会存在这个情况。解决办法一:
    exec master..xp_cmdshell 'copy d:\TD\voipac~1.csv d:\TD\voiptest.csv'
    select *  from openquery(sqlcsvtest,'select * from [VoIPtest.csv]')
    解决办法二:
    等各位高手给你方法。