首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 求各位大侠帮帮忙!vb cs结构客户端数据源? [无满意答案结帖,结帖人:zuibunan]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-08-19 11:34:23 楼主
    大家好!我现在要做一个系统,cs结构的,我自己机子上装有vb6.0,sql server2000个人版,数据库名CustomerOrdersDB,下面是数据库连接代码:
    Public conn As New ADODB.Connection
    Set conn = New ADODB.Connection
      With conn
        .CursorLocation = adUseClient
        .CommandTimeout = 10
          ' 连接到SQL Server数据库
        .ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
            "User ID= sa ;Initial Catalog= CustomerOrdersDB" & _
            ";Data Source=DFD4E1F5E30C45F;pwd="
        .Open
      End With
    。。。。。

    编译成可执行文件后在我自己机子上能运行,但我把做好的文件考在别的机子上,为什么不能运行!客户端不用装SQL不是吗?
    我的程序中没有有ADO控件,全部是以下面的形式实现的:
    Dim strSQL$
    Set rs = New ADODB.Recordset
    '连接到数据库
    。。。。

    strSQL = " select * from OrdersTab where OrdersMan = '" & curUserName & "' "
    rs.Open strSQL, conn, 3, 3
    Set DataGrid_Orders.DataSource = rs
    问题:1、我没有生成安装程序不可以吗?我直接把包括可执行文件的全部文件考到要用的几位员工机子上,但点击运行出现以下问题:
    连接失败:
    SQLState'01000'
    SQLServer错误:10060
    [Micrsoft][ODBC SQL Server Driver][TCP/IP Sockets]Connection Open(Connect())
    连接失败:
    SQLState'08001'
    SQLServer错误:17
    [Micrsoft][ODBC SQL Server Driver][TCP/IP Sockets]SQLServer不存在或拒绝被访问
    请问在客户端要建立数据源吗?
    2、我就数据库放入公司的Fserver服务器上,将DFD4E1F5E30C45F改为Fserver如下:
    Public conn As New ADODB.Connection
    Set conn = New ADODB.Connection
      With conn
        .CursorLocation = adUseClient
        .CommandTimeout = 10
          ' 连接到SQL Server数据库
        .ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
            "User ID= sa ;Initial Catalog= CustomerOrdersDB" & _
            ";Data Source=Fserver;pwd="
        .Open
      End With
    。。。。。
    系统在我机子上能运行,(我重新编译了),但在其他用户机子上仍不能运行,这是为什么呀?
    以前在学校只做过单机版的,自己做的在自己机子上运行的那种!让大家见笑了!还请各位高手帮帮忙!不胜感激!

    120  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lr78
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 11:42:171楼 得分:0
    看错误应该是你在连接字符串中没有指明数据库服务器的地址,所以导致找不到数据库!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • vbman2003
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 12:20:432楼 得分:0
    sql server2000个人版?
    不提供网络数据服务吧,是这个不行吧?
    没用过,推测的......
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • vbman2003
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 12:24:263楼 得分:0
    哦,没看全
    如果服务器上是企业版依然不能连接,可以在客户用端建立数据源的方法来测试,慢慢找原因......
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 12:48:014楼 得分:0
    可是我在客户端建立数据源,出错,也是类似的什么[DBbudil]不存在或拒绝被访问的问题!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-19 12:49:385楼 得分:0
    可是为什么我的机子连接到公司企业版的SQL,可以运行呢!客户端代码一样的!谢谢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • YFY
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-20 17:58:026楼 得分:0
    以前我遇到过这个问题,你可以这样检查:
    1、客户端的ADO版本太低,重新安装ADO2.8,你可以在控制面板-》管理工作-》数据源中建立用户DSN测试客户机到服务器的连接是否正常?
    如果不正常,你的程序肯定也连接不上。
    2、不要使用计算机名,使用IP地址访问服务器,有些计算机域名解析不正常的话你的代码也不能访问服务器。

    另外:建立设定复杂用户名和密码访问SQL,不然很不安全。客户端保存用户名和密码使用加密方式保存,不要写死在程序里。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 15:46:247楼 得分:0
    我测试过,只要DSN连接正常的,那客户端也能正常运行!但那些不能运行的客户端,他们能连其他机子的服务器,为什么不能
    连我使用的那台呢?还有,有时我自己机子都不能连服务器,我把SQLserver2000重装后又可以,这是为什么?
    客户端保存用户名和密码使用加密方式保存?我不明白!没有用过,能详细告诉我吗?谢谢!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tongnaifu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 16:09:428楼 得分:0
    客户端安装MDAC
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • YFY
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 09:45:049楼 得分:0
    1、查查服务是否中病毒或防病毒防火墙影响。保证SQL SERVER服务器端服务已开启,使用SQL的服务器网络实用工具启用Winsock代理。
    重装后有可能正常一段时间,不久之后会有问题的,你们的网络环境中病毒多吗?如果多的话。

    2、你的连接字符串中“User ID= sa pwd= ”,用用户名sa密码空连接SQL数据库,容易让数据库中毒,并且发布的软件系统极不安全,数据库用户名和密码修改之后你还得修改软件代码重新编译。
    客户端保存用户名和密码使用加密方式保存? 让你把用户名和密码以加密的方式保存在配置文件中,允许在程序的数据库连接设置模块中修改,最好数据库名也能写在配置文件中。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 15:52:2110楼 得分:0
    我在客户端安装了mdac2.7,但是还是不能连接,客户端能ping到服务器,但就是不能等录,DSN怎么也连接不上去!!!!!
    难道还得给客户端重新安装XP吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 16:00:5211楼 得分:0
    会不会是客户端的XP太旧或版本不行!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Tiger_Zhao
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 4

      3

      3

    发表于:2008-08-25 17:09:5812楼 得分:0
    Persist Security Info=True
    说明要用到 Windows 身份,也就是其它计算机上的当前用户必须在你的计算机上有权限。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-26 17:01:0013楼 得分:0
    我公司一共有俩台机子可以连到服务器上,一台是我自己的,还有一台是刚装完XP系统的!其他的都不行,很郁闷呀!我也没有
    设置什么权限!一用我开发的软件系统就弹出:
    实时错误 '-2147467259(80004005)'[dbnetlib][connectionopen(connect()).]SQL server 不存在或拒绝访问
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Tiger_Zhao
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 4

      3

      3

    发表于:2008-08-26 17:05:2414楼 得分:0
    权限配置的问题,必须用域用户登陆客户端,并且域用户有数据库的访问权。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-26 17:23:0915楼 得分:0
    Persist Security Info=True 我改了Persist Security Info=flase但还是不行
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-26 17:26:5316楼 得分:0
    必须用域用户登陆客户端,并且域用户有数据库的访问权!那我要去那设置呢?去服务器2003上吗?麻烦你能不能说详细一点!
    我都郁闷一星期了!谢谢Tiger_zhao!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lcsfxs
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-27 17:31:1117楼 得分:0
    把"客户端网络实用工具"中的"别名"设计成服务器名
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-27 17:41:0818楼 得分:0
    客户端网络实用工具"中的"别名"设计成服务器,我设了,但还是不行!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Tiger_Zhao
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 4

      3

      3

    发表于:2008-08-28 10:31:5519楼 得分:0
    在域控制器上创建网络用户。
    数据库服务器上将这些网络用户添加到本地的 Power User 组中(可能 User 组就可以了)。
    客户端也有将相应的网络用户添加到本地的 Power User 组中,登陆时用网络用户而不是本机用户。

    看是否网络用户,只要打开用户组,看用户列表中的格式
    ·zuibunan —— 这是本地用户
    ·NTDOMAIN\zuibunan ——这是网络用户。

    检查当前用户是否网络用户,在 Win2000 下按 Ctrl+Alt+Del,看登陆信息中的格式
    ·本计算机名\zuibunan —— 这是本地用户
    ·NTDOMAIN\zuibunan ——这是网络用户。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-28 15:18:3620楼 得分:0
    不知道为什么,我重装系统后,我机子上的客户端也不能用了!真是超郁闷!DSN能连接上。这是为什么呀?各位请帮帮忙!谢谢了!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Tiger_Zhao
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 4

      3

      3

    发表于:2008-08-28 16:42:4621楼 得分:0
    "Provider=SQLOLEDB.1;..." 的形式是安装 .Net 之后提供的驱动,VB6 还是用 "Driver={SQL Server};..." 的形式。
    所谓 OLEDB 比 ODBC 快在 VB6 中是反映不出来的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • startbin
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-28 18:08:3122楼 得分:0
    明显是sql的版本问题,装个专业版很难吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-29 09:17:1923楼 得分:0
    我试一试装别的企业版的,我感觉代码应该没有问题,可能是网络,服务器SQLserver有问题!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-29 09:18:4624楼 得分:0
    Driver={SQL Server};...可是我只要连接上就可以了,快不快先不考虑了!谢谢!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-29 10:14:1725楼 得分:0
    我真是超郁闷啦!我把Data Source=192.168.1.245(服务器地址)改为Data Source=Fserver(服务器名)我的机子又能连
    到服务器了,客户端在我的机子可以用了!但是我改回IP地址还是不能用!
    我旁边哪台A机子在我打包时Data Source=192.168.1.245是这个,现在也还能用!我百思不得其解

    我想是不是服务器的问题,或网络问题!麻烦各位了!谢谢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lcsfxs
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-29 11:41:0526楼 得分:0
    二."无法连接到服务器,用户xxx登陆失败" 
       
      该错误产生的原因是由于SQL  Server使用了"仅  Windows"的身份验证方式, 
      因此用户无法使用SQL  Server的登录帐户(如  sa  )进行连接.解决方法如下所示: 
       
      1.在服务器端使用企业管理器,并且选择"使用  Windows  身份验证"连接上  SQL  Server 
      操作步骤: 
      在企业管理器中 
      --右键你的服务器实例(就是那个有绿色图标的) 
      --编辑SQL  Server注册属性 
      --选择"使用windows身份验证" 
       
      --选择"使用SQL  Server身份验证" 
        --登录名输入:sa,密码输入sa的密码 
      --确定 
       
      2.设置允许SQL  Server身份登录 
      操作步骤: 
      在企业管理器中 
      --展开"SQL  Server组",鼠标右键点击SQL  Server服务器的名称 
      --选择"属性" 
      --再选择"安全性"选项卡 
      --在"身份验证"下,选择"SQL  Server和  Windows  ". 
      --确定,并重新启动SQL  Server服务. 
       
      在以上解决方法中,如果在第  1  步中使用"使用  Windows  身份验证"连接  SQL  Server  失败, 
      那就通过修改注册表来解决此问题: 
       
      1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器 
      2.依次展开注册表项,浏览到以下注册表键: 
      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer] 
      3.在屏幕右方找到名称"LoginMode",双击编辑双字节值 
      4.将原值从1改为2,点击"确定" 
      5.关闭注册表编辑器 
      6.重新启动SQL  Server服务. 
       
      此时,用户可以成功地使用sa在企业管理器中新建SQL  Server注册, 
      但是仍然无法使用Windows身份验证模式来连接SQL  Server. 
      这是因为在  SQL  Server  中有两个缺省的登录帐户: 
      BUILTIN\Administrators 
      <机器名>\Administrator  被删除. 
      要恢复这两个帐户,可以使用以下的方法: 
       
      1.打开企业管理器,展开服务器组,然后展开服务器 
       
      2.展开"安全性",右击"登录",然后单击"新建登录" 
       
      3.在"名称"框中,输入  BUILTIN\Administrators 
       
      4.在"服务器角色"选项卡中,选择"System  Administrators"   
       
      5.点击"确定"退出 
       
      6.使用同样方法添加  <机器名>\Administrator  登录. 
       
      说明: 
       
      以下注册表键: 
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode 
      的值决定了SQL  Server将采取何种身份验证模式. 
      1.表示使用"Windows  身份验证"模式 
      2.表示使用混合模式(Windows  身份验证和  SQL  Server  身份验证). 
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-09-01 13:29:0027楼 得分:0
    我的SQL是windows和SQL混合验证模式!
    BUILTIN\Administrators 
      <机器名>\Administrator  被删除.
    好像不能建错误提示:没有找到windows nt 用户或组FSERVER\Administrator
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuibunan
    • 等级:
    • 可用分等级:
    • 总技术分: