当前位置:主页>销售管理软件> 列表

SQL SERVER2000 设置ADO客户端连接的Con 找档案管理软件

记账软件版1楼: 各位 新年好

我现在正在为 数据库客户端 连接发愁 我的数据库是SQL SERVER2000 连接方式是ADO 其ConnectionString是 Provider=SQLOLEDB.1;
Integrated Security=SSPI;
Persist Security Info=False;
Initial Catalog=book
采用 Windows NT 集成安全设置 目前我在服务器端连接是正常的 在客户端连接数据 我想应该是调整ConnectionString

我把SQL数据库 转化成一个文件形式 在发布的时候会打包进去 客户端通过连接相应数据库文件 实现数据导入 导出和保存

以下是我的数据库备份和恢复代码
procedure TForm1.Button1Click(Sender: TObject);// backup
begin
if savedialog1.Execute then
adocommand1.CommandText:=''backup database book to disk=''+chr(39)+SaveDialog1.FileName+chr(39)+'' '';
adocommand1.Execute;
end;

procedure TForm1.Button2click(sender:TObject);// restore
begin
if opendialog1.Execute then
adocommand1.CommandText:=''use master'';
adocommand1.Execute;
adocommand1.CommandText:=''restore database book from disk=''+chr(39)+openDialog1.FileName+chr(39)+'' '';
adocommand1.Execute;
end;
end.
以上的代码在服务器端执行是OK 的 但希望在客户端执行 于是我把代码改为

procedure TForm1.Button2click(sender:TObject);// restore
begin
if opendialog1.Execute then

begin
if ADOConnection1.Connected then
ADOConnection1.Connected := False;
ADOConnection1.ConnectionString :=''Provider=SQLOLEDB.1;Integrated Security=SSPI;Data Source=''+chr(39)+OpenDialog1.FileName+chr(39)+'';Persist Security Info=False;User ID='''''''';Password='''''''' '';
ADOConnection1.Connected := True;

adocommand1.CommandText:=''use master'';
adocommand1.Execute;
adocommand1.CommandText:=''restore database book from disk=''+chr(39)+openDialog1.FileName+chr(39)+'' '';
adocommand1.Execute;
end;
end;
end.

这样后 提示''[DBNETLIB][ConnectionOpen(ParseConnectParams()).]无效的连接''

我接触DELPHI时间不长 目前主要方向是在数据库 能否请各位帮我看一下 感激不尽

谢谢

2楼: Adoconnection1.Connectionstring:=''....datasource=''+服务器名(或IP)+''..''
我也是刚接触Delphi C/S数据库编程,以上你试试! 如金蝶财务软件价格

3楼: SQL SERVER2000好像不支持异地的备份和恢复,我试过也不成功。。。

4楼: 看到http://www.delphibbs.com/delphibbs/dispq.asp?lid=3324595里
Project.ini的内容:
[Data]
DataSource=PCT
UserId=sa
PassWord=sql
DataBaseName=master
ConType=1
不知PCT什么意思
还有 Project.ini应该是事前建好的吗?

5楼: To qiaojiaxiu
datasource=''+服务器名(或IP)+''.. ----------这里的IP是客户端的IP 还是某个固定的值?

6楼: 利用adoconnection的commandtext来执行的命令是在adoconnection连接到的服务端执行的,所以你的方法是不行的。如果连接到服务端,那么在指定数据库文件的时候的路经就是服务端的路经,这样就找不到你的备份文件。如果你连接到客户端,首先客户端要安装并运行sql server.....简单问题复杂化了

记账软件版7楼: to sung_001:
可是那 如何实现 在 客户端 通过连接相应数据库文件 实现数据导入 导出和保存呢?

8楼: ADOConnection1.ConnectionString如何设置?

~~

9楼: 查了一些资料 了解到:
有两种连接 SQL Server 的方式
一是利用 SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;
二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用 ODBC 或者 OLE DB 等连接 SQL Server。

我这里应该是第二种 而 使用用于 SQL Server 的 OLE DB 提供者又有“使用 SQL Server 身份验证”和“使用 Windows 身份验证(信任连接)”

对于“使用 Windows 身份验证(信任连接)”
使用 Windows 身份验证(信任连接):
oConn.Open "Provider=sqloledb;" & _
"Data Source=myServerName;" & _
"Initial Catalog=myDatabaseName;" & _
"Integrated Security=SSPI"

请问 这里"Data Source=myServerName;" 的 myServerName应该怎么写?

我的程序中的 ADO 是这样写的(这种方式仅我的电脑上运行OK):
ADOConnection1.ConnectionString :=''Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=book'';
在别人电脑上运行时 提示“[DBNETLIB][ConnectionOpen(Connect()).]SQL Server 不存在或拒绝访问”
对于 我的ADOConnection1.ConnectionString 应该如何修改呢?个人感觉在别人电脑上运行时 应该是ADOConnection1.ConnectionString没有找到Data Source

大大指点 感激不尽

10楼: ADOConnection1.ConnectionString :=''Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=book''把地址加到里面

ConStr := ''Provider=SQLOLEDB.1;Password='' + E_PWD.Text
+ '';Persist Security Info=True;User ID='' + E_User.Text
+ '';Initial Catalog='' + E_DB.Text + '';Data Source='' + E_Server.Text;
ADOC_Main.ConnectionString := ConStr;
try
ADOC_Main.Open;
except
on E: Exception do
begin
MessageDlg(''连接失败!'' + E.Message, mtError, [mbOk], 0);
Exit;
end;
end;

11楼: 你连接本机时用NT认证就可以了。当连接服务器的时候。就需要指定服务器的IP和密码了。
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source=SXD

12楼: datasource=''+服务器名(或IP)+''.. ----------这里的IP是某个固定的值(也就是说:“是你要连接的服务器的IP”) 如档案管理软件

13楼: 我一直是希望在程序发布时 把 数据库文件 一起打包进去 然后别人的电脑直接OPEN该文件打开该数据库里的数据 这种想法能否实现?很多朋友也提到可能涉及SQL客户端 但已经有无数的朋友指出 只需几个核心DLL就行 完全可以不装所谓的SQL客户端 最多最多装个MDAC即可


那么 在ADOConnection1.ConnectionString 的设置中 能否实现直接连接这个 数据库文件 实现数据导入?
TO:chengangsir
Data Source='' + E_Server.Text;//这里的E_Server.Text是一定要手工输入吗? 还是通过连接发布时打包进去的 数据库文件 可以避开??
TO:衣雪峰
通过连接发布时打包进去的 数据库文件 是不是一定要指定服务器的IP和密码?

谢谢各位 有你们真好

记账软件版14楼: 多人接受答案了。