BCB中如何用ADOConnection控件连接SQL2005数据库

Evap 2011-07-28 11:55:48
就这么点分了,问个菜问题

解决问题立刻给分 ,在线等

这是我的数据库:

路径是:C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\HelloSQLServer.mdf

数据库已经在SQL Server 2005 中附加好


现在BCB的一个Form中插入一个ADOConnection:


请问如何能连接上这个数据库? ADOConnection中的连接字符串和Provider该怎么设置?


求解答!
...全文
309 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
周药师 2011-07-28
  • 打赏
  • 举报
回复
连接SQL2005 跟你数据库文件的路径没有关系的
连接方法跟连接SQL2000一样的


ADOConnection1->Close() ;
ADOConnection1->ConnectionString="Provider=SQLOLEDB.1;Password=123456;Persist Security Info=False;User ID=sa;";
ADOConnection1->ConnectionString+="Initial Catalog=jc_data;"; //jc_data:数据库名字
ADOConnection1->ConnectionString+="Data Source=202.103.96.112"; //202.103.96.112:服务器...
ADOConnection1->Open() ;
纯冰糖 2011-07-28
  • 打赏
  • 举报
回复
2005没有装过,偶就不知道了。
你确定sa和sa的密码正确么?
纯冰糖 2011-07-28
  • 打赏
  • 举报
回复
字符串,把变量传进去
Evap 2011-07-28
  • 打赏
  • 举报
回复
连接不上,提示“无效的授权说明”
Evap 2011-07-28
  • 打赏
  • 举报
回复
那几个%s具体应该写什么啊? 我的问题中数据库类型和数据库路径都写了的,给个直接可以用的 常字符串 吧 谢谢
纯冰糖 2011-07-28
  • 打赏
  • 举报
回复
CB里放置ADOConnection组件,Build一下连接字符串看看吧
Evap 2011-07-28
  • 打赏
  • 举报
回复
SQLOLEDB.1 是什么? 我的好像是什么SQLEXPRESS
纯冰糖 2011-07-28
  • 打赏
  • 举报
回复
我这里还没有装2005,你试着2000的方法连接一下吧

sConn:=Format('Provider=SQLOLEDB.1;Persist Security Info=False;User ID=%s;Password=%s;Initial Catalog=%s;Data Source=%s;',
[Trim(sUserId),Trim(sPass),Trim(sDatabase),Trim(sServer)]);
AdoConnection.ConnectionString:=sConn;
AdoConnection.Connected:=true;
Evap 2011-07-28
  • 打赏
  • 举报
回复
我是菜鸟 请具体点 谢谢
纯冰糖 2011-07-28
  • 打赏
  • 举报
回复
试着用ODBC先连一下
cutebear2008 2011-07-28
  • 打赏
  • 举报
回复
"Data Source=82Z6ZLWO9ZMB0VG\\SQLEXPRESS"其中一个\是转义用的!

[Quote=引用 31 楼 direct4d 的回复:]

终于可以了!!

你们说的是对的 只是我犯了一个小错误


C/C++ code

// 我把 Data Source=82Z6ZLWO9ZMB0VG\SQLEXPRESS 写成了
"Data Source=82Z6ZLWO9ZMB0VG\SQLEXPRESS"

// 应该是
"Data Source=82Z6ZLWO9ZMB0VG\\SQLEXPRESS"




谢谢二……
[/Quote]
cutebear2008 2011-07-28
  • 打赏
  • 举报
回复
后面的...按钮按下不久出来了吗,再按步骤配置一下就好了啊!非常简单
Evap 2011-07-28
  • 打赏
  • 举报
回复
终于可以了!!

你们说的是对的 只是我犯了一个小错误



// 我把 Data Source=82Z6ZLWO9ZMB0VG\SQLEXPRESS 写成了
"Data Source=82Z6ZLWO9ZMB0VG\SQLEXPRESS"

// 应该是
"Data Source=82Z6ZLWO9ZMB0VG\\SQLEXPRESS"



谢谢二位了!!
周药师 2011-07-28
  • 打赏
  • 举报
回复
检查你的 ID 和 密码
Evap 2011-07-28
  • 打赏
  • 举报
回复
它给我Build的字符串是

Provider=SQLOLEDB.1;
Integrated Security=SSPI;
Persist Security Info=False;
Initial Catalog=master;
Data Source=82Z6ZLWO9ZMB0VG\SQLEXPRESS

直接测试连接可以,写成代码的就不行。。。
Evap 2011-07-28
  • 打赏
  • 举报
回复
没有登录密码
Evap 2011-07-28
  • 打赏
  • 举报
回复
奇怪了。。同一个字符串 在第四张图中Build就能连上, 写成代码就不行。。
纯冰糖 2011-07-28
  • 打赏
  • 举报
回复
Windows身份验证没有密码么?
Password=; ??
Evap 2011-07-28
  • 打赏
  • 举报
回复


ADOConnection1->Close() ;
ADOConnection1->ConnectionString="Provider=SQLOLEDB.1;Password=;Persist Security Info=False;User ID=82Z6ZLWO9ZMB0VG\Administrator;Initial Catalog=master;Data Source=82Z6ZLWO9ZMB0VG\SQLEXPRESS";
ADOConnection1->Open();
Application->MessageBox("OK!","hint",64);




我这么写的 就是连不上,纠结啊。。
回复下10楼, ADOConnection1->ConnectionString 不能用 +=
纯冰糖 2011-07-28
  • 打赏
  • 举报
回复
你的第四张图片,ConnectionString右边按钮 Build一个就成了,当然要测试连接。
加载更多回复(13)

1,178

社区成员

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

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