阅读:2302回复:6
[求助]MapInfo中如何调用SQLServer中的数据
<P>我想用MapBasic编程直接调用SQLServer中的数据,有谁有这方面的经验,可以教我一下吗?</P>
<P>我看过的教程上只有简单的介绍,如果哪位前辈做过实例,方便的话,可以教我一下吗?</P> [此贴子已经被作者于2006-3-10 22:06:39编辑过]
|
|
1楼#
发布于:2006-03-11 11:35
用ADO,建立一个连接字串,在SQLSERVER上建立一个库,表,字串里写明这个库,表,数据就来了...
|
|
2楼#
发布于:2006-03-12 17:53
试试,谢过先
|
|
3楼#
发布于:2006-03-12 20:07
抱歉啊,可以再说详细一点吗
|
|
4楼#
发布于:2006-03-13 05:06
你说的好像是要从别的程序中调用。因为我需要在mapbasic下经常调用SQLServer中的数据,所以希望直接在Mapbasic中编写语句访问SQL,而不是先在别的语言中调用再传给Mapbasic。
|
|
5楼#
发布于:2006-03-26 13:40
<P>我已经做出来了,分以下几步:</P>
<P>1.将MapInfo安装盘上的ODBC装上,这个在启动光盘时就有显示</P> <P>2.在操作系统下的"控制面板"-"管理工具"-"数据源(ODBC)"中添加数据源(我用的是SQLServer,还有很多可以选择),然后配置参数.注意:这里你所定义的DSN名称要与之后在MapBasic链接数据库是使用的DSN相同,建议可以参照Mapbasic帮助手册中的Server_Connect()的各种数据库链接示例中所给的DSN参数,这样可以增加程序通用性.</P> <P>3.在Mapbasic中写一下语句,Server_Connect(QELIB,"DSN=MI SQLSERVER;DB=你的目标表(Sqlserver中的);UID=(你的用户名);PWD=你的密码,如果没有就用空字符串")</P> <P>4.如果直接读取确定的数据,可以用Server_Execute(),用完之后记得使用Server Close语句.</P> <P>5.如果要对表进行一定操作,则:</P> <P> Server hdbc Link Table<br> "Select acc_code,p_death,p_harm,happen_time From info_basce"(你所使用的数据检索语句)<br> Into TEMP(TEMP是你存储临时数据的MapInfo表,所以每次使用完后,如果没有保存的必要,请记得使用RollBack语句释放空间,并用CloseTable语句关闭表)</P> <P>6.断开链接</P> <P>再说一下如何将SQLServer数据转换为.tab表</P> <P>经过上面所说的1.2.两步后,再进行如下操作就ok了:</P> <P>3.在MapInfo中的"工具"-"工具管理器"中把3个与DBMS有关的工具的"已装入"和"自动装入"钩选上,然后确认</P> <P>4.在"工具"菜单下会发现多了几项,选择"DBMS上载表",你就会发现刚创建的数据源被显示,然后剩下的就是找到你自己要用的SQLServer中的表了...之后,再经过几步简单操作,你就可以把SQLServer中的表转为.tab格式了.</P> [此贴子已经被作者于2006-3-26 18:16:23编辑过]
|
|
6楼#
发布于:2006-03-27 22:42
真是好啊
|
|