PB下建立SQLSERVER 7的Database?

boby_v 2000-02-22 12:29:00
请教一个问题:怎样在PB6下写程序建立一个SQLSERVER 7的Database,并且在其中创建多个TABLE 和VIEW?然后如何CONNECT 上?是不是有什么SQLSERVER 的DLL支持才能建库?
...全文
138 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
none 2000-02-25
  • 打赏
  • 举报
回复
我的思路是,先连到数据库MASTER上,再建立新的数据库,再连到新建的数据库上,最后是创建对象、授权等。

SQLCA.DBMS = XXX
SQLCA.Database = "master"
SQLCA.ServerName = XXX
SQLCA.LogId = XXX
SQLCA.LogPass = XXX
sqlca.autocommit = true
connect using sqlca;
//连接到数据库 master 上


ls_temp ="CREATE DATABASE Health_Archives ON(NAME = Health_Archives, FILENAME = 'c:\mssql7\data\Health_ArchivesData.MDF',SIZE = 10 ) "
EXECUTE IMMEDIATE :ls_temp ;
//建立新数据库 Health_Archives

disconnect;
sqlca.database="Health_Archives"
connect using sqlca;
//连接到新建的数据库 Health_Archives 上

string ls_loginame, ls_passwd, ls_defdb
DECLARE sp_addlogin PROCEDURE FOR sp_addlogin @loginame = :ls_loginame, @passwd = :ls_passwd, @defdb = :ls_defdb;

ls_loginame = "viewer"
ls_passwd = "viewer"
ls_defdb = "Health_Archives"
EXECUTE sp_addlogin ;
ls_loginame = "writer"
ls_passwd = "writer"
EXECUTE sp_addlogin ;
//增加两个 login,名为 viewer和writer,口令与名称相同,默认数据库均为 Health_Archives

string ls_name_in_db
DECLARE sp_adduser PROCEDURE FOR sp_adduser @loginame = :ls_loginame, @name_in_db = :ls_name_in_db;
ls_loginame = "viewer"
ls_name_in_db = "viewer"
EXECUTE sp_adduser;
ls_loginame = "writer"
ls_name_in_db = "writer"
EXECUTE sp_adduser;
//增加两个用户 viewer和writer,与相应的 login 联结起来



ls_temp = "CREATE table city (id char(6) NOT NULL PRIMARY KEY,name varchar(50) NOT NULL)"
EXECUTE IMMEDIATE :ls_temp ;
//创建表 city(城市)
ls_temp = "GRANT SELECT ON city TO writer, viewer "
EXECUTE IMMEDIATE :ls_temp ;
//授权
boby_v 2000-02-25
  • 打赏
  • 举报
回复
感谢二位的建议!
929 2000-02-22
  • 打赏
  • 举报
回复
在PB中用程序建立数据库,我想建立时,可以用SQL SERVER本身提供的SQL 脚本功能来完成。也就是说,想在SERVER上建立什么样的数据库,里面有表,视图等多种对象。就按照SQL的语法规则写出生成的脚本。然后,在PB的程序中调用SERVER自带ISQL程序,以脚本文件名为参数执行之,就可以在SERVER上建立数据库了。
举例来说:
假设,已经写好了建立数据库的脚本,命名为DATA.SQL
在PB中,写如下程序段:
Run("isql -Sservername -Usa -P -ic:\data\data.sql")
如果运行正确则在SERVER上建立了所需的数据库,然后可在SQLCA中写入连接属性,来完成CONNECT。当然,最简单的方法就是先手工建立好数据库,然后用SERVER生成脚本的功能,把建立过程存入一个文件中。在PB中,按上法调用文件执行后,可用定义好的连接来连接数据库。

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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