最近帮朋友做一个进销存的管理软件,用VB 和SQL SERVER2000开发,使用ADO方法,我装的XP系统
装的是开发版的SQL SERVER 2000,使用WINDOWS 和SQL SERVER 2000模式登陆,用户名"sa "密码"."
在本地机器上测试,没有问题,在同寝室电脑,调试客户端程序,怎么连接都连接不上我电脑中SQL SERVER服务器,
提示说是没有服务器,或是没有权限,各位大虾帮帮我,详细告诉我是数据库的问题还是需要别的一些东西我连接的代码如下user_pwd = "."
user_name = "sa"
data_name = "like_data_temp1"       '数据库名
server_name = "haohaoking"         'SQL SERVER 服务器名publicStr = "Provider=SQLOLEDB.1;Password=" & user_pwd & ";Persist Security Info=True;User ID=" & user_name & ";Initial Catalog=" & data_name & ";Data Source=" &server_namecnn.Open publicStr

解决方案 »

  1.   

    关于SQLSERVER连接故障可以参考微软的文章:
    http://support.microsoft.com/default.aspx?scid=kb;zh-cn;827422
    关于连接字符串可以参考这个:
    http://www.connectionstrings.com/
      

  2.   

    那请问,客户端必须安装 SQL SERVER安装盘 中“仅客户端工具(包括选择组件的选项)”吗?
      

  3.   

    客户端网络工具用来设置要将SQL发送到SQLSERVER实例服务器的哪个端口.
    服务器端网络工具用来设置SQLSERVER实例要在哪个端口来监听和接收客户端发来的SQL.
    客户端设置的要发送到的端口必须与服务器端设置的监听端口相同.
    通常客户端都要安装客户端网络工具,以便设置要访问的服务器端口.
      

  4.   

    使用SQLDMO:
    SQL-DMO 用于必须包含 SQL Server 管理的任何自动化或 COM 应用程序,例如:   1. 封装 SQL Server 作为自己的数据存储并想尽量减少用户的 SQL Server 管理任务的应用程序。  2. 在程序本身并入了专门的管理逻辑的应用程序。  3. 想在自己的用户界面中集成 SQL Server 管理任务的应用程序。   SQLDMO对象来自SQLDMO.dll,SQLDMO.dll是随SQL Server2000一起发布的。SQLDMO.dll自身是一个COM对象,因此,在你的.NET项目里必须先引用它。  得到网络中的SQL服务器的列表:'得到SQL服务器的列表
    '必须安装SQL SERVER 2000 SP2 及以上版本Dim I As Short
    Dim sqlApp As New SQLDMO.Application()
    Dim ServerName As SQLDMO.NameList
    ServerName = sqlApp.ListAvailableSQLServers
    For i = 1 To ServerName.Count
    cbServer.Items.Add(ServerName.Item(i))
    Next   得到指定SQL服务器所有数据库的列表:'得到指定SQL服务器所有数据库的列表Dim sqlApp As New SQLDMO.Application()
    Dim oServer As New SQLDMO.SQLServer()
    oServer.Connect('(local)', 'sa', 'sa')
    cboDatabase.Items.Clear()
    Dim db As SQLDMO.Database
    For Each db In oServer.Databases
    Me.cboDatabase.Items.Add(db.Name)
    Next   得到所有的表、视图、存储过程:Dim I As Short
    Dim oServer As New SQLDMO.SQLServer()
    oServer.Connect('(local)', 'sa', 'sa')
    Dim db As New SQLDMO.Database()For I = 1 To oServer.Databases.Count
    If oServer.Databases.Item(I, 'dbo').Name = 'Northwind' Then Exit For
    Next
    If I > oServer.Databases.Count Then Exit Subdb = oServer.Databases.Item(I, 'dbo')
    ListBox1.Items.Clear()
    '得到所有的存储过程
    For I = 1 To db.StoredProcedures.Count
    ListBox1.Items.Add(db.StoredProcedures.Item(I, 'dbo').Name)
    Next
    '得到所有的表
    For I = 1 To db.Tables.Count
    ListBox1.Items.Add(db.Tables.Item(I, 'dbo').Name)
    Next
    ' 得到所有的视图
    For I = 1 To db.Views.Count
    ListBox1.Items.Add(db.Views.Item(I, 'dbo').Name)
    Next
       利用SQLDMO实现带进度条的数据库备份:'添加进度条ProgressBar1控件 
    '引用Microsoft SQLDMO Object Library 
    '声明 Public WithEvents bkps As SQLDMO.Backup'数据库备份操作 
    Private Sub btnBackUp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBackUp.Click
    Dim oSQLServer As New SQLDMO.SQLServer()
    oSQLServer.LoginSecure = False
    oSQLServer.Connect('(local)', 'sa', 'sa') '连接服务器 
    Me.Cursor = Windows.Forms.Cursors.WaitCursor
    bkps = CreateObject('SQLDMO.Backup')
    bkps.Database = 'Northwind' '指定需备份的数据库 
    bkps.Action = 0
    bkps.Files = 'f:\Northwind.bak' '指定备份文件 
    bkps.Initialize = True
    ProgressBar1.Value = 0
    ProgressBar1.Maximum = 100
    Me.Cursor = Windows.Forms.Cursors.Default()
    Application.DoEvents()
    Dim mouseCur As Cursor
    Me.Cursor = Windows.Forms.Cursors.WaitCursor
    bkps.SQLBackup(oSQLServer)
    ProgressBar1.Value = 100
    Application.DoEvents()
    bkps = Nothing
    Me.Cursor = Windows.Forms.Cursors.Default()
    MsgBox('数据库备份完成', MsgBoxStyle.Information, '系统消息')
    End Sub'显示进度 Private Sub bkps_PercentComplete(ByVal Message As String, ByVal Percent As Integer) Handles bkps.PercentComplete
    ProgressBar1.Value = ProgressBar1.Maximum * (Percent / 100)
    End Sub 
      

  5.   

    谢谢我的问题解决了
    我是XP SP2 系统,禁止了1433端口,下载SP4 装上了,开始不好用,今天早上就好用
    谢谢大家