急用,Sql Server连接Visual Foxpro(70分)

  • 主题发起人 主题发起人 dlmn
  • 开始时间 开始时间
D

dlmn

Unregistered / Unconfirmed
GUEST, unregistred user!
用 SqlServer下Sp_AddLinkedServer连接Oracle,建立连接服务器Ora后,指定用户名为
ylbx,则访问Oracle 数据用Ora..ylbx.tablename即可,可是我要连接VFP的 话,没有用户名
怎么访问VFP下的数据呢
假如说连接方式采用ODBC连接,DSN名为ylbxw 则我建立连接服务器语句为
sp_addlinkedserver 'ayxyb'(连接服务器名),'','msdasql','ylbxw'( 数据源名)
难道出错了吗
 
还是用ado把比odbc好多了
 
在sql server里做存储过程写:select * from openquery(ayxyb,'select * from 表名')
不管连接服务器是Oracle还是odbc的,我的程序里就用了两个连接服务器,一个是Oracle
一个是vfp的odbc,数据访问没有问题
 
查询时,如何调用参数,比如,查询是身份证号为410522195304088174的人的信息
select * from openquery(ayxyb,'select * from tx where sfz="410522195304088174"');
如何把常量变成参数,这样只要前端把身份证号传过来后,就可以查询该人的相关信息了
 
在Visual Foxpro中直接定义SQL Server的数据连接和视图,然后用SQL语句进行修改或添加删除记录!!!
不过视图方式的稳定性要差一点!
 
如果调用参数,就必须用‘动态SQL语句’,先定义一个字符串变量放置SQL语句,再执行一个
系统过程即可,如下:
前面应有一个输入参数来传递身份证号(假设为@sfz,假设存储过程为cx)
create proc cx
@sfz char(18)
as
declare @sql varchar(500)
set @sql='select * from openquery(ayxyb,''select * from tx where sfz="'+rtrim(@sfz)+'"'')'
exec sp_executesql @sql (此句执行动态SQL)


 
后退
顶部