lalaine520 发表于 2012-3-26 11:09:08

【QTP链接Oracle数据库】问题求助

本帖最后由 lalaine520 于 2012-3-29 14:44 编辑

求助大家,QTP链接数据库时,用创建ODBC嘛?
下面是我的代码,但是跑到“Conn.Open ConnectionString”这行就不动了,跑不下去了。。。我没写DB链接成功的情况。。。都跑不下去,请问这么写对吗?请各位帮忙,谢谢了~Dim Conn
   Set Conn=createobject ("ADODB.Connection")
   Conn.ConnectionString="DSN=dd;DATABASE=bjtdb;PWD=oracle;SERVER=10.12.30.118;UID=rob"
   Conn.Open ConnectionString
      IfConn.State=0 Then
            msgbox("!!!!")
            Reporter.ReportEvent micFail,"testing","DB连接失败"
      End If

luchao215225 发表于 2012-3-26 11:44:19

链接中缺少Provider=SQLOLEDB; 数据库类型

lalaine520 发表于 2012-3-26 13:28:46

本帖最后由 lalaine520 于 2012-3-26 13:30 编辑

回复 2# luchao215225
我+了那句话,但是报错了。。求解啊。。

lalaine520 发表于 2012-3-27 09:32:28

没人来嘛??自己顶。。。。。。。

luchao215225 发表于 2012-3-27 18:02:48

本帖最后由 luchao215225 于 2012-3-27 18:03 编辑

Set con=createobject("adodb.connection")
Set rs=createobject ("adodb.recordset")
con.Open("Provider=SQLOLEDB; Data Source=192.168.1.8; Initial Catalog=BBDB; User ID=sa; Password=sa;")

我连的SQL数据库.你参考下

正在更新 发表于 2012-3-28 10:16:12

1.首先要装数据源驱动 并测试连接DB是否成功
2.我目前用的连接串:
strCn="Driver={MySQL ODBC 5.1 Driver};server="&strDBIP&";database=DBname;Port=3306;User=root;Password=root;charset=GBK;"

正在更新 发表于 2012-3-28 10:16:26

1.首先要装数据源驱动 并测试连接DB是否成功
2.我目前用的连接串:
strCn="Driver={MySQL ODBC 5.1 Driver};server="&strDBIP&";database=DBname;Port=3306;User=root;Password=root;charset=GBK;"

lalaine520 发表于 2012-3-28 14:53:11

本帖最后由 lalaine520 于 2012-3-28 14:54 编辑

谢谢二位!但是加了PORT 说“链接字符串属性无效”;不加port说“SQL SERVER”不存在或拒绝访问

lalaine520 发表于 2012-3-28 14:55:31

还有 我用的ORACLE 也得写“Provider=SQLOLEDB”这个么

ZhuCrystal 发表于 2012-3-28 15:25:44

用oracle不用写;
我的连接代码,给你参考下:
EG:简单代码
Dim Con   //定义变量
Dim rs      //定义变量
Dim conset//定义变量
conset="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=123456;Initial Catalog=LMS2.0;Data Source=YANJIN"//将获得的链接字符串赋值到定义的变量conset中
Set Con=CreateObject("ADODB.Connection")//生成数据库连接对象
Con.Open conset//打开数据库
Set rs=CreateObject("ADODB.Recordset")    //生成记录集对象
rs.Open "select userNamefrom dbo.tbUsers",Con//书写SQL语句
//条件判断(有读到数据提示Pass,反之提示failed)
If con.State=0 Then         
msgbox"failed"
else
msgbox"pass"
End If
rs.MoveFirst//将焦点定在第一行
con.close   //关闭数据库连接
Set con=nothing   //清空连接对象

lalaine520 发表于 2012-3-28 15:52:39

用oracle不用写;
我的连接代码,给你参考下:
EG:简单代码
Dim Con   //定义变量
Dim rs      //定义 ...
ZhuCrystal 发表于 2012-3-28 15:25 http://bbs.51testing.com/images/common/back.gif

那请问DATABASE设置的是在ODBC中建立的数据源么

lalaine520 发表于 2012-3-31 17:15:31

米解决,自己继续顶。。。。。。。。。

wwoa 发表于 2012-4-1 10:38:47

Dim Conn
Set Conn=createobject ("ADODB.Connection")
conn.connectionstring="Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=system;password=wwoa;Data Source=ORCL"
Conn.Open ConnectionString
IfConn.State=0 Then
msgbox("!!!!")
Reporter.ReportEvent micFail,"testing","DB连接失败"
End If

你的Conn.ConnectionString写的有问题吧
我把你的改成上面的就可以过了
你自己看着改吧

lalaine520 发表于 2012-4-5 10:00:32

回复 13# wwoa

按照你的写了:Dim Conn
Set Conn=createobject ("ADODB.Connection")
Conn.ConnectionString="provider=OraOLEDB.Oracle.1;persist Security Info=False;User ID=rob;password=oracle;Data Source=ORCL"
Conn.Open ConnectionString
IfConn.State=0 Then
msgbox("!!!!")
Reporter.ReportEvent micFail,"testing","DB连接失败"
End If但是失败了:报异常:
ORA-12154: TNS: 无法处理服务名
Line (4): "Conn.Open ConnectionString".

026300 发表于 2012-4-6 16:32:40

本帖最后由 026300 于 2012-4-6 16:34 编辑

我用的是mysql,说说我的做法:首先要安装ODBC,然后添加系统DSN,并测试成功,QTP中使用mysql的代码:
Dim Conn 'as Adodb.Connection
Dim Rst '记录结果
Set Conn = CreateObject("ADODB.Connection")
Conn.ConnectionString="DATABASE=yourDatabasename;DSN=yourDSN;OPTION=0;WD=password;PORT=yourPort;SERVER=IP address;UID=username"
Conn.Open

Set Rst=CreateObject("Adodb.Recordset")
Rst.Open "select * from database.table",Conn
Rst.movefirst
Rst.Close
Conn.Close
Set Rst=Nothing
Set Conn=Nothing

ps 语句中那个笑脸不是我加的

wwoa 发表于 2012-4-17 17:21:09

回复 14# lalaine520

Data Source的问题

lalaine520 发表于 2012-4-18 15:06:02

谢谢各位,虽然我知道是Data Source的问题 但还没有解决。。。
页: [1]
查看完整版本: 【QTP链接Oracle数据库】问题求助