为什么刚刚安装操作系统的机器,用我的程序连接局域网内的另一机器内的SQL数据库时,
总是连接失败!用ODBC连接一下就可以了!好象是必须有一次数据连接,才可以正常连接。
我用的连接串是:
Provider=SQLOLEDB.1;Password=密码;Persist Security Info=True;
User ID=用户;Initial Catalog=数据库;Data Source=服务器不知道大家有没有碰到这种情况!
总是连接失败!用ODBC连接一下就可以了!好象是必须有一次数据连接,才可以正常连接。
我用的连接串是:
Provider=SQLOLEDB.1;Password=密码;Persist Security Info=True;
User ID=用户;Initial Catalog=数据库;Data Source=服务器不知道大家有没有碰到这种情况!
解决方案 »
- ADO程序运行几天死掉的问题分析
- Delphi控制台如何覆盖输出?
- 关于mscomm控件的代码,谁能给我解释一下,谢谢 我是新手
- 从odbc内导入表内数据到ms-sqlserver,用ms-sql语句导入表内的一部分记录
- 请问如何把 real型 转换成 integer型?
- 简单问题,高分相送
- 有谁用过imageEdit控件?ImgEdit.PrintImage函数中的参数快把我搞死了
- 请问pilicat(delphi迷) ,如何清除Timage上的图片呢?
- 高分在线求助菜鸟问题:关天DbGrid
- Easy2
- 关于一个计费软件的设计思路(KTV包厢)
- 在sql 2000中怎么才能把货币类型数据添加到money字段里?
User ID=用户;Initial Catalog=数据库;Data Source=服务器IP //Use IP
问题在于我第一次连接数据库时连接不成功,
而通过控制面板中的 ODBC 数据源连接一下数据库,
再用我的程序就可以连接成功,而我并没有通过 ODBC 建立的数据源连接数据库。
在此期间,我的程序没有做任何变动。是不是很怪的问题。
如果是BDE的连接方式,应该首先设置BDE别名
+'ID='+strUserID+';Initial Catalog='
+strBName+';Data Source='
+strIP+','+strPort+';Network Library=dbmssocn ';
//加上这句Network Library=dbmssocn
Conn.LoginPrompt:= false ;
Conn.ConnectionTimeout:=60;
Conn.Open(strUserID,strPass);
你先确认:Server是否采用Windows验证,
现象:用IP地址也不能联上服务器(用计算机名更不行),在ODBC里测试一下就行了,或者在ADOConnection编辑字符串时测试一下也就通了,但是重新启机后问题依旧.
解决方法:客户端用一个服务端的合法用户登录客户端(也就是服务端也有一个同样的用户名和密码的用户).