解决方案 »
- 提示可以向嵌入式发展
- 谁能够详细说明adoconnection socketconnection dcomconnection的比较?
- 求助:给用户发催费短信怎么做,要新增什么设备?
- 提交数据后如何同步本地缓存数据控件的缓存数据
- 数据库问题,同时操作两张表
- 菜鸟问题,请高手指导....在线!
- 怎样用Delphi写的ActiveForm.OCX在web页面中向服务器提交数据?
- 急救!!!紧急寻觅类似与QQ的聊天源程序<包括服务端和客户端>.最好服务端的数据库也附上,谢谢!!!
- 如何写入memo的问题
- 请问在Delphi中如何直接的调用应用程序?
- 星星高手请进
- 我有两个问题请教????谢谢!!!(在线等)
在SQL Server客户端网络实用工具中,在通用页右册按顺序起用协议的列表中
将TCP/IP协议上升到第一位就可以了,当然要保证你的服务器端已经启用了TCP/IP协议。还有一点要注意,就是客户端所在服务器上所占用的端口号,因为放火墙容易关闭某些端口
procedure TForm1.BitBtn3Click(Sender: TObject);
var s:string;
begin
db.close;
adodb.close;
if (trim(edit1.text)='') and (trim(edit5.text)='') then
begin
showmessage('服务器IP和主机名不能同时为空!');
abort;
end;
if trim(edit4.text)='' then
begin
showmessage('请输入MSSQL SERVER数据库名!');
abort;
end;
db.Params.Clear;
db.DriverName:='MSSQL';
s:='DATABASE NAME='+trim(edit4.text)+#13;
s:=s+'SERVER NAME='+trim(edit1.text)+#13;
s:=s+'USER NAME='+trim(edit2.text)+#13;
s:=s+'OPEN MODE=READ/WRITE'+#13;
s:=S+'SCHEMA CACHE SIZE=8'+#13;
s:=S+'BLOB EDIT LOGGING='+#13;
s:=S+'LANGDRIVER='+#13;
s:=S+'SQLQRYMODE='+#13;
s:=S+'SQLPASSTHRU MODE=SHARED AUTOCOMMIT'+#13;
s:=S+'DATE MODE=0'+#13;
s:=S+'SCHEMA CACHE TIME=-1'+#13;
s:=S+'MAX QUERY TIME=300'+#13;
s:=S+'MAX ROWS=-1'+#13;
s:=S+'BATCH COUNT=200'+#13;
s:=S+'ENABLE SCHEMA CACHE=FALSE'+#13;
s:=S+'SCHEMA CACHE DIR='+#13;
s:=S+'HOST NAME='+trim(edit5.text)+#13;
s:=S+'APPLICATION NAME='+#13;
s:=S+'NATIONAL LANG NAME='+#13;
s:=S+'ENABLE BCD=FALSE'+#13;
s:=S+'TDS PACKET SIZE=4096'+#13;
s:=S+'BLOBS TO CACHE=64'+#13;
s:=S+'BLOB SIZE=32'+#13;
s:=s+'PASSWORD='+trim(edit3.text);
db.Params.text:=s;
s:='Provider=SQLOLEDB.1;Password=';
s:=s+edit3.text+';Persist Security Info=True;User ID='+edit2.text+';';
s:=s+'Initial Catalog='+edit4.text+';Data Source='+edit1.text;
adodb.ConnectionString:=s; //ADO连接方式
try
if adochk.Checked then
adodb.open
else db.open;
application.MessageBox('连接数据库成功!','反馈信息',48);
except
on e:exception do application.MessageBox(pchar('无法连接数据库!'+#13+#13+e.Message),'错误信息',16);
end;
adodb.close;
db.close;
end;