当前位置:编程学习 > VB >>

如何将VB程序连接到另外一台机器上的SQL SERVER 2000

我写了一个库存小系统(VB6.0+SQL SERVER 2000),是在A机器上用VB开发的,A上装的SQL SERVER 2000. 运行后程序正常运行.
现在把程序用"Package & Deployment 向导"打包后,放到B程序上运行.配置B的ODBC可以正常连接到A的SQL SERVER. 但是在B上安装后该程序后,运行的时候就包错误
"运行时错误 '-2147467259 (80004005) 连接字符串属性无效" 

对了. 我程序里用的是ADO.CONNECTION连接数据源的.具体是:

SUB CON()
Set cn = New adodb.Connection   '实例化Connection对象 cn
    cn.Provider = "SQLOLEDB.1"      '连接数据源所使用的OLEDB提供者
cn.ConnectionString = "Database = COBERYL; Server = KBL;uid=peter;pwd=123"   '连接具体数据源的名称
    cn.Open 
END SUB

这是什么原因呢? 为什么在另外台机器上就不能运行程序连接不到SQL SERVER了呢?
求正确的在同一个组里,如何实现程序连接到另外一台机器上的数据库方法.谢谢了
--------------------编程问答-------------------- 可能原因如下

B机器没有装ADO,可以在微软网站下载,搜索MDAC,具体看一下你用的是什么版本,可以在你VB工程--引用中查看你ado的版本
http://search.microsoft.com/results.aspx?q=MDAC&l=1&mkt=zh-CN&FORM=QBME1

--------------------编程问答-------------------- 把连接连接字符串改一下,试试


Set cn = New adodb.Connection   '实例化Connection对象 cn
cn.ConnectionString = "driver={SQL Server};server=KBL;User ID=jeter;pwd=123;database=COBERYL"
    cn.Open 
END SUB --------------------编程问答-------------------- 也可用odbc进行连接,具体代码可以在《sqlserver实例开发》这本书上找到 --------------------编程问答-------------------- Adodc1.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=kaoqing;Data Source=\\Zhijianbu\c\JANSON" 
上面代码中: 
用 \\ 表示局域网 
用 \\计算机名 表示局域网的某计算机 
Adodc1.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Initial Catalog=kaoqing;Data Source=c\JANSON" 
上面代码中,数据库在本机. 

具体做法: 
新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件。 
然后在FORM1窗体中添加ADODC控件和DATAGRID控件,将DATAGRID1的属性DATASOURCE选ADODC1,打开ADODC1控件属性页使用连接字符串,选生成,在提供者选项中选择合适的搜索引擎,然后按要求连接数据库等。在ADODC1控件属性页使用连接字符串空白文本窗口中就有一长串字符串,注意该字符串可复制到程序代码用于编程。ADODC1控件属性页的数据源内有命令文本(SQL)编写窗口可编写SQL查询语言。该窗口的SQL语句可复制到程序代码用于编程。 --------------------编程问答-------------------- "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=COBERYL;Data Source=" & 主机名或IP地址 & ";Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=KBL;Use Encryption for Data=False;Tag with column collation when possible=False"
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,