| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 612 人关注过本帖
标题:如何在VFP里将一个文本文件导入到SQL2005的数据库里
只看楼主 加入收藏
jiaqi11
Rank: 2
等 级:论坛游民
帖 子:41
专家分:20
注 册:2011-10-11
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:6 
如何在VFP里将一个文本文件导入到SQL2005的数据库里
RT
我的验证链接代码如下:
DECLARE INTEGER SQLConfigDataSource IN odbccp32 INTEGER,INTEGER,STRING,STRING
Public gnConnhandle
lnWindowHandle=0
lcODBCDriver='SQL Server'
lcODBCName='yuebao'
lcODBCDesc='yuebao'
lcODBCServer='10.254.88.13'
lcODBCDatabase='yuebao'
gnConnhandle=SQLSTRINGCONNECT('driver='+lcODBCDriver+';Server='+lcODBCServer+';uid=sa;pwd=cisco;database='+lcODBCDatabase)
SQLSETPROP(0,'DispLogin',3)
SQLSETPROP(0,"IdleTimeout",0)
IF gnConnhandle<=0
MESSAGEBOX("连接数据库失败,请与系统管理员联系!",0+48,"提示")
RETURN
ELSE
MESSAGEBOX("连接数据库成功!",0+48,"提示")
ENDIF
运行以上代码时,显示连接数据库成功!,说明数据库已经链接上了

添加文本的代码如下:
sqlexe(gnConnhandle,"BULK INSERT test from e:\test.txt with (FIELDTERMINATOR = ' ',ROWTERMINATOR = '\n')")
失败,不知道错哪里了,还是用法根本就不对?
搜索更多相关主题的帖子: 系统管理员 连接数据库 database 文本文件 
2013-02-19 15:29
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:10 
这种方法第一次见。数据导入 sql_server 的表中,一般用参数方式,spt 语句,遵循字段对应的方法插入。txt 文件也需要转换,再进行导入。
 
2013-02-19 20:42
jiaqi11
Rank: 2
等 级:论坛游民
帖 子:41
专家分:20
注 册:2011-10-11
收藏
得分:0 
谢谢!
那么有什么办法可以讲文本文件在VFP里面导入到SQL2005呢
我现在是用VFP编写界面,由于数据库太大,不得不用到SQL 2005的数据库,
命令BULK INSERT test from e:\test.txt with (FIELDTERMINATOR = ' ',ROWTERMINATOR = '\n')
我在SQL server里运行是成功的。但是在VFP里用SQLEXEC()函数就不行了,
有什么命令可以把C:\TEXT.TXT文件直接导入到SQL 2005的数据库中吗?
2013-02-19 22:54
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:10 
可考虑先将文本数据转换到VFP中,再由VFP转换到SQL中

只求每天有一丁点儿的进步就可以了
2013-02-20 08:17
jiaqi11
Rank: 2
等 级:论坛游民
帖 子:41
专家分:20
注 册:2011-10-11
收藏
得分:0 
数据库太大,已经超过2G了,所以先导入到VFP这个在转SQL这个条路不通啊,之前就想过的,就是应为太大,所以才考虑直接导入到SQL里去
2013-02-20 10:33
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:0 
"我在SQL server里运行是成功的。但是在VFP里用SQLEXEC()函数就不行了"
既然可以,做成一存储过程,让vfp 直接执行这个过程,应该可以吧?
 你的这一个大文件,能不能分成几个小一点的文件?能分就能容易解决。
 
2013-02-20 22:43
jiaqi11
Rank: 2
等 级:论坛游民
帖 子:41
专家分:20
注 册:2011-10-11
收藏
得分:0 
啊,谢谢各位,我貌似找到点眉目了
应为sqlexe(gnConnhandle,"BULK INSERT test from e:\test.txt with (FIELDTERMINATOR = ' ',ROWTERMINATOR = '\n')")
这条命令是将BULK INSERT test from e:\test.txt with (FIELDTERMINATOR = ' ',ROWTERMINATOR = '\n')这段SQL语句推送到
SQL服务器上,并执行,因此他导入的文本文件e:\test.txt要存在于SQL服务器上,而不是存在于本机上。
谢谢各位!

2013-02-25 22:42
快速回复:如何在VFP里将一个文本文件导入到SQL2005的数据库里
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.054058 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved