首页 > 开发 > 综合 > 正文

PB10中Microsoft OLE DB数据库连接配置

2024-07-21 02:10:08
字体:
来源:转载
供稿:网友


pb10中ole microsoft ole db数据库连接配置

 

pb10的测试版本已经推出来有段时间。可是我直到现在我才开始试用:$ 。pb10 beta 1可以到下面两个地址下载:

 

1、陶清:http://www.pdriver.com/display.asp?key_id=1563

2、sybase:http://www.sybase.com/detail?id=1027224

 

pb10的新特性大家可以从相关网站查找,这里就不多说了。我在这里主要想介绍一下 pb10中新增的ole microsoft ole db数据连接方式。这是因为微软从7/2000的版本已经不再对直接方式提供支持,因为直接方式并不能支持所有ms sql server的特性。

 

pb10版本的数据连接配置和先前版本的界面没什么区别,和以前一样点db profile就可以进去了。如图:

 



      

 

大家请注意红框地方,配置的时候和以前版本也没什么区别。但最重要的是extended处。因为我自己在使用的时候,找了半天也没找到哪儿可以选择数据库:$。在这里我们可以填上一些附加的属性。在这里,我就只加上database=pubs。好了,就是这么简单。生成连接语法如下:

 

       // profile pubs

sqlca.dbms = "ole db"

sqlca.logpass = "mypwd"

sqlca.logid = "sa"

sqlca.lock = "rc"

sqlca.autocommit = false

sqlca.dbparm = "provider='sqloledb',datasource='sunset',providerstring='database=pubs'"

 

接下来再介绍第二种方式—使用通用数据链接udl文件。我们除了象原来那样直接配置之外,还可以使用配置文件,也就是udl文件,这个类似于我们的ini文件。如图:

 

      



      

生成的连接语句如下:

 

       // profile pubs_udl

sqlca.dbms = "ole db"

sqlca.autocommit = false

sqlca.dbparm = "datalink='g:/pbprj/pb10 amples/pubs.udl'"

 

做好上面的工作后,我们测试一下连接,看是否成功。如图:

 



 

显示ole db操作错误。点击确定。出现下图:

 





 

这是怎么回事?其实我们在连接access等数据库的时候也会出现这个问题—无法创建以pbcat开头的pb目录表(catalog tables)。如果在您系统中不需要使用到pb的目录表,那么您就可以完全不用理会这个提示,因为它最后告诉我们已经连接成功,事实也是如此。

 

但是为什么会出现这个错误呢?我们还是稍微追查一下原因。如果您安装了msdn,那么您可以到下面这个链接去看一看。

 

ms-help://ms.msdnqtr.2003feb.2052/oledb/htm/sql_server_provider.htm

 

从中我们知道,ole db provider for sql serve有一些已知的局限性。这就是:although the oledb for sql server provider implements itabledefinitionwithconstraints, ialterindex and ialtertable, these interfaces are not exposed if it runs as local_server。(尽管sqloledb实现了itabledefinitionwithconstraints、ialterindex和ialtertable,但是当sqloledb作为本地服务器运行时这些接口并不可使用)。因此,我想,就是因为这个原因而导致pb连接数据库,在创建目录表时,而导致的ole db多步操作错误(这只是我想到的原因,请大家指点)。但无论如何,希望在正式版中不要出现这个讨厌的提示。

 

另外,关于udl的介绍,我们可以到下面这个地址去查看:

 

ms-help://ms.msdnqtr.2003feb.2052/vsintro7/html/vxtskcreatingconfiguringuniversaldatalinkfiles.htm


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表