系统dsn中,我用的是SQL的登陆权限,注意设置数据库的权限.不用磕头。

解决方案 »

  1.   

    1。如果试图连接服务器的应用程序服务器也是windows2000的话,需要通过网上邻居登陆一下服务器,
    2。看看应用程序服务器的登陆用户名和密码是不是和你在服务器里面设置的一样
    我只遇到过上面的两种情况,如果不行麻烦你把新的解决办法告诉小弟
    [email protected]
      

  2.   

    我也在写一个关于bcb和SQL server的东西,不知道你为什么非要用BDE,如果不是非要用不可,以下方法是没有问题的。
    1,添加ADOConnect,设置ConnectString属性,选择Use Connect String,按Build,选择Microsoft OLE DB Provider for SQL server,按下一步,接下来的东西就简单了,自己设置好。
    2,添加ADOQuery,设置Connection属性指向前者
    3,其它执行和普通的Query没什么区别了,注意open()和execsql()的区别
      

  3.   

    1. 不需要配置ODBC。2. 如果使用BDE, 可以不配置BDE,使用TDatabase控件来建立临时的BDE别名,便于应用程序的发布。
    Params.Strings = (
          'DATABASE NAME=你的SQLSERVER的数据库名字'
          'SERVER NAME=你的SQLSERVER名字'
          'USER NAME=你的SQLSERVER用户名字'
          'OPEN MODE=READ/WRITE'
          'SCHEMA CACHE SIZE=8'
          'BLOB EDIT LOGGING='
          'LANGDRIVER='
          'SQLQRYMODE='
          'SQLPASSTHRU MODE=SHARED AUTOCOMMIT'
          'DATE MODE=0'
          'SCHEMA CACHE TIME=-1'
          'MAX QUERY TIME=300'
          'MAX ROWS=-1'
          'BATCH COUNT=200'
          'ENABLE SCHEMA CACHE=FALSE'
          'SCHEMA CACHE DIR='
          'HOST NAME='
          'APPLICATION NAME='
          'NATIONAL LANG NAME='
          'ENABLE BCD=FALSE'
          'TDS PACKET SIZE=4096'
          'BLOBS TO CACHE=64'
          'BLOB SIZE=32'
          'PASSWORD=你的SQLSERVER用户口令')
    3. 如果使用ADO,使用TADOConnect控件,设置ConnectString类似如下:
    ConnectionString = 
          'Provider=SQLOLEDB.1;Password=你的SQLSERVER用户口令;Persist Security Info=True;Use' +
          'r ID=你的SQLSERVER用户名字;Initial Catalog=你的SQLSERVER的数据库名字;Data Source=你的SQLSERVER名字'
      

  4.   

    对不起,最近工作忙,来不及回复,今天才有空上来!
    首先,我要感谢各位大虾的指导,虽然帮助有大有小,但各位能抽出时间来给我回复,小弟感激不尽!
    现在,我用三种方法都能连上SQL2000了,把过程跟大家说一下,希望有能给大家一个借鉴的地方,免吃我那么多的苦头!
      一开始死活连不上,越急越不行,后来冷静下来仔细地想了一想,决定从最容易的ODBC上入手,一个一个地试,用第一个用户DSN就成功了(SQL2000本身装在WIN2000SERVER上,如是在不同的机子上,要用系统DSN且要正确登录上WIN2000SERVER),这里DATABASE NAME,SERVER NAME,USER NAME三个参数非常重要,错一点都不行。
       后来看了仙猫写的建议,这里再一次感谢仙猫大虾,你一句话点醒了我这个梦中人,用ADO设置很简单,一下子就连上了,(只是在设置中要注意选ADO驱动中的for SQL Server项)。但用BDE本身带的SQL LINK怎么都不行(BCB装好后即带的SQL
      

  5.   

    驱动程序,在configuration\drivers\native\MSSQL
      

  6.   

    对不起,最近工作忙,来不及回复,今天才有空上来!
    首先,我要感谢各位大虾的指导,虽然帮助有大有小,但各位能抽出时间来给我回复,小弟感激不尽!
    现在,我用三种方法都能连上SQL2000了,把过程跟大家说一下,希望有能给大家一个借鉴的地方,免吃我那么多的苦头!
      一开始死活连不上,越急越不行,后来冷静下来仔细地想了一想,决定从最容易的ODBC上入手,一个一个地试,用第一个用户DSN就成功了(SQL2000本身装在WIN2000SERVER上,如是在不同的机子上,要用系统DSN且要正确登录上WIN2000SERVER),这里DATABASE NAME,SERVER NAME,USER NAME三个参数非常重要,错一点都不行。
       后来看了仙猫写的建议,这里再一次感谢仙猫大虾,你一句话点醒了我这个梦中人,用ADO设置很简单,一下子就连上了,(只是在设置中要注意选ADO驱动中的for SQL Server项)。但用BDE本身带的SQL LINK怎么都不行(BCB装好后即带的SQL的驱动程序,在BDE的configuration\drivers\native\MSSQL下),在database中新建一个SQL SERVER的别名,总是提醒登录失败或者错误的参数设置,另外,在原本的对应MSSQL的别名中,不知为什么没有SERVER NAME这一项(那位大侠可否赐告?),情急之下把这个别名删了,再新建一个,就有了服务器名称项,但总是提醒参数错误,选DATABASE NAME时,是弹出一个选择对话框,因此它的名字是C:\Program Files\MSSQL\data\MYDB,各种配置都试了(如服务器名:域名\服务器所在机器名,数据库名:路径\数据库名,用户名:登录名\密码等)总是提醒参数错误,后来灵机一动,把ADO的连接字符串拿来看一看,用它的参数一试,没再出现参数错误对话框,但提示登录错误,后来把登录用户全部删除(现在想想只重新设置自己的登录名就行了),再从新设置一遍,终于成功了。之所以要想用第三种方式,主要是好象ODBC的效率不高,而ADO的兼容性不强,对Oracle、Sybase、Informix等没有相应的ADO Provider,为了开发出一个效率高的、通用性强的软件我想选用BDE,不过要自己手功设置BDE难度大一些,错一点都不行,首先要对WIN2000SERVER的登录设置、SQL2000的登录权限、数据库使用权限的设置要有一个比较清楚的了解,第二个要细心,我就是因为用户名错了一个字母的大小写而进不去,第三个出现错误不能急,用各种工具从下到上一层层检查,比如用Ping命令检查网络的连通性,用SQL客户端工具检查与SQL服务器的连接,用BCB的DATABASE DeskTop(或SQL Explorer)检查BDE的参数值的正确性.....。用手功设置的难度主要在于WIN2000的设置与SQL2000的设置搀杂在一起,引起错误的原因查找比较困难,还有就个容易引起错误的地方(我查了一些资料,都没有一个详细的说明)(比如,数据库名字不能带路径(用选择文件对话框选很容易犯这个错误),装上BCB后其本身带的SQL别名没有服务器名这一项等),但只要有耐心、细心,不会是很困难。
      以上就是我在这个问题上的体会,希望能够抛砖引玉,能给大家作为一个参考的例子。再次谢谢大家。