在pb中如何获取当前运行的SQL SERVER的实例名?

am2000 2004-07-16 05:08:02
获取实例名我就可以在MDSE和SQL SERVER中切换!
...全文
133 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hanson_bati_zhu 2004-07-17
  • 打赏
  • 举报
回复
你首先获取本机的机器名
然后,先看获取到的实例名中是否有斜线
如果没有斜线,看看这个实例名与你本机名是否相同
如果相同就不是你本机的
如果有斜线,看看斜线前的内容与你本机名是否相同
如果相同就不是你本机的

注意大小写,最好都用UPPER转换成大写后再比较
am2000 2004-07-17
  • 打赏
  • 举报
回复
譬如说:
am2000
am2000\test
我好象无法判断出来。
Hanson_bati_zhu 2004-07-17
  • 打赏
  • 举报
回复
试试看

OLEObject lole_test,lole_NameList
INTEGER li_ret
LONG ll_Count,ll_Index

lole_test = CREATE OLEObject
lole_NameList = CREATE OLEObject

li_ret = lole_test.ConnectToNewObject('SQLDMO.Application')
IF li_ret <> 0 THEN
Destroy lole_test
MessageBox('系统信息','SQLDMO对象连接失败')
RETURN
END IF

lole_NameList = lole_test.ListAvailableSQLServers()

lole_test.DisconnectObject()
Destroy lole_test

ll_Count = lole_NameList.Count
FOR ll_Index = 1 TO ll_Count
MessageBox('当前网络中所存在的SQLServer实例名',String(lole_NameList.Item(ll_Index)))
NEXT

Destroy lole_NameList


用上面的办法能够获取当前网络中所存在的SQLServer实例名,然后,判断其中包括本机机器名的(如果没有斜线/,就是那个实例所在机器名,如果有斜线,则斜线前为实例所在机器名),应该就是本机中所安装的实例名了

Hanson_bati_zhu 2004-07-17
  • 打赏
  • 举报
回复
你看看这个是不是对你能有帮助

http://dev.csdn.net/article/21/21581.shtm
lxiaoa 2004-07-16
  • 打赏
  • 举报
回复
支持一下!
mittee 2004-07-16
  • 打赏
  • 举报
回复
如果是在服务器可以通过sqlserver的一个组件获取所有运行的实例
kankan77305450 2004-07-16
  • 打赏
  • 举报
回复
string str
ulong ll_size = 255
getcomputername(str,ll_size)
这个str的值就是sql实例名啦!!
am2000 2004-07-16
  • 打赏
  • 举报
回复
@@SERVERNAME如何获取?
我想先获取实例名,再进行连接
myclife 2004-07-16
  • 打赏
  • 举报
回复
select @@SERVERNAME

754

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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