
远程连接sql server 2000服务器的解决方案
一、 看ping 服务器IP能否ping通。
这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。
二 、在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。
如telnet 202114100100 1433
通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“……无法打开连接,连接失败"。
如果这一步有问题,应该检查以下选项。
1 检查远程服务器是否启动了sql server 2000服务。如果没有,则启动。
2 检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上打开 开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。
3 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。如果隐藏服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是Tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变。
4 如果服务器端 *** 作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。
5 检查服务器是否在1433端口侦听。如果服务器没有在tcp连接的1433端口侦听,则是连接不上的。检查方法是在服务器的dos或命令行下面输入
netstat -a -n 或者是netstat -an,在结果列表里看是否有类似 tcp 127001 1433 listening 的项。如果没有,则通常需要给sql server 2000打上至少sp3的补丁。其实在服务器端启动查询分析器,输入 select @@version 执行后可以看到版本号,版本号在802039以下的都需要打补丁。
如果以上都没问题,这时再做telnet 服务器ip 1433 测试,将会看到屏幕一闪之后光标在左上角不停闪动。恭喜,马上可以开始在企业管理器或查询分析器连接了。
三、 检查客户端设置
程序->Microsoft SQL Server -> 客户端网络使用工具。像在服务器网络实用工具里一样,确保客户端tcp/ip协议启用,并且默认端口为1433(或其他端口,与服务器端保持一致就行)。
四、 在企业管理器里或查询那分析器连接测试
企业管理器->右键SQlserver组->新建sqlserver注册->下一步->写入远程IP->下一步->选Sqlserver登陆->下一步->写入登陆名与密码(sa,password)->下一步->下一步->完成
查询分析器->文件->连接->写入远程IP->写入登录名和密码(sa,password)->确定
通常建议在查询分析器里做,因为默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是4秒,而查询分析器是15秒。
修改默认连接超时的方法:
企业管理器->工具->选项->在d出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡->连接设置->在 登录超时(秒) 后面的框里输入一个较大的数字
查询分析器->工具->选项->连接->在 登录超时(秒) 后面的框里输入一个较大的数字
通常就可以连通了,如果提示错误,则进入下一步。
五、 错误产生的原因通常是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(如 sa )进行连接。解决方法如下所示:
1 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server。
2 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡。
3 在"身份验证"下,选择"SQL Server和 Windows "。
4 重新启动SQL Server服务。(在dos或命令行下面net stop mssqlserver停止服务,net start mssqlserver启动服务,也是一种快捷的方法)。
附注:在连接本地服务器时,通常使用的是命名管道协议(在服务器网络实用工具里可以看到启用的协议有这个),默认端口是445,因此在本地能连通是不能说明什么问题的,连接远程服务器是完全不同的协议)
sqlcaDBMS = ProfileString (ls_startupfile, "database", "dbms", "")
sqlcaDatabase = ProfileString (ls_startupfile, "database", "database", "")
sqlcaLogid = ProfileString (ls_startupfile, "database", "logid", "")
sqlcaLogpass = ProfileString (ls_startupfile, "database", "LogPassWord", "")
sqlcaServerName = ProfileString (ls_startupfile, "database", "Servername", "")
sqlcaUserID = ProfileString (ls_startupfile, "database", "Userid", "")
sqlcaDBPass = ProfileString (ls_startupfile, "database", "DatabasePassword", "")
sqlcaLock = ProfileString (ls_startupfile, "database", 'Lock', '')
sqlcaDBParm = ProfileString (ls_startupfile, "database", "DBParm", "")
/ Uncomment the following for actual DB connection /
connect using sqlca;
if sqlcasqlcode <> 0 then
MessageBox ("Cannot Connect to Database", sqlcasqlerrtext)
return
end if
sqlcaautocommit = true
toolbartext=true
主要就是这几句代码、连接sql server的、在ini文件中配置数据库相关信息、如果是access也和这里差不多、数据库用名字、连接不上就改成ip
原则是写在任何地方都可以,主要用来连接字符串。写法如下:
using System;
using SystemCollectionsGeneric;
using SystemLinq;
using SystemText;
using SystemData;//首先导入命名空间
using SystemDataSqlClient;//首先导入命名空间
namespace EJ_MarketModelCommon
{
class DataBase
{
SqlConnection con = null;
public SqlConnection GetCon()
if (con == null)
{
con=new
SqlConnection("server=>
}
if (conState == ConnectionStateClosed)
{
conOpen();
}
return con;
}
//end GetCon public void GetClose()
{
if (conState == ConnectionStateOpen)
{
conClose();
}
}//end GetClose
}//end class
}//end namespace
扩展资料:
连接数据库、 *** 作数据库,本质是利用数据库提供的动态链接库MySqlDatadll进行 *** 作。MySqlDatadll提供以下8个类:
MySqlConnection: 连接MySQL服务器数据库。
MySqlCommand:执行一条sql语句。
MySqlDataReader: 包含sql语句执行的结果,并提供一个方法从结果中阅读一行。
MySqlTransaction: 代表一个SQL事务在一个MySQL数据库。
MySqlException: MySQL报错时返回的Exception。
MySqlCommandBuilder: Automatically generates single-table commands used to reconcile changes made to a DataSet with the associated MySQL database
MySqlDataAdapter: Represents a set of data commands and a database connection that are used to fill a data set and update a MySQL database
MySqlHelper: Helper class that makes it easier to work with the provider
C#连接数据库有以下几个步骤:
1:使用配置的数据库连接串,创建数据库连接 Connection 对象
2:构建 *** 作的sql语句
3:定义command对象
4:打开数据连接
5:执行命令
举一个例子,删除 *** 作
public class StudentService
{
//从配置文件中读取数据库连接字符串
private readonly static string connString = ConfigurationManagerConnectionStrings["accpConnectionString"]ToString();
private readonly static string dboOwner = ConfigurationManagerConnectionStrings["DataBaseOwner"]ToString();
AdoNetModelsStudent model = new Student();
#region 删除数据1
public int DeleteStudent(int stuID)
{
int result = 0;
// 数据库连接 Connection 对象
SqlConnection connection = new SqlConnection(connString);
// 构建删除的sql语句
string sql = stringFormat("Delete From Student Where stuID={0}", stuID);
// 定义command对象
SqlCommand command = new SqlCommand(sql, connection);
try
{
connectionOpen();
result = commandExecuteNonQuery(); // 执行命令
}
catch (Exception ex)
{
ConsoleWriteLine(exMessage);
}
finally
{
connectionClose();
}
return result;
}
#endregion
Microsoft ADO Data Control 60和Microsoft DataGrid Control 60ADODC控件属性设置:1、在ADODC控件上右击,选择ADODC属性2、然后在通用选项卡中选择使用连接字符串,点击生成按钮3、然后选择Microsoft Jet 40 OLE DB Provider,点击下一步4、选择要连接打开的Access数据库文件(你要打开的ACCESS文件),点击测试连接,提示成功即可5、切换到记录源选项卡,命令类型选择2-adCmdTable,表或存储过程名称选择要打开的表,点击确定。经过以上的步骤设置,ADODC控件虽然具有了“打开”数据库的能力,但它没有“显示”数据的能力,此时我们就要借助DataGrid控件了。DataGrid控件属性设置:设置DataGrid控件的DataSource属性为Adodc1通过以上语句的设置,就将DataGrid控件和Adodc控件绑定在一起了,这样DataGrid才能正常显示Adodc打开数据表的内容。
配置数据库连接参数如下:
string
strCon
=
"Initial
Catalog='数据库名称';
Server='远程IP地址,1433';
User
ID='登录用户名';
Password='登录用户密码';
Persist
Security
Info=True";
数据库是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
1、打开代码窗口,添加引用:Imports SystemDataSqlClient。
2、输入以下代码:
“Public conn1 As SqlConnection = New SqlConnection _
("server=192168179; Initial Catalog= student; User ID= panqe;PWD=shentai768@")”,vb就已经成功连接sql数据库了。
3、代码详解:声明关键字Public(因为是全局变量,所以用Public 来声明)。
4、连接参数。
5、如果SQL 数据库就在本机,则用以下代码连接:
("server=; Integrated Security=False;Initial Catalog= student; User ID= panqe;PWD=shentai768@")。
6:如果代码太长,影响可读性,可以用空格加"_"后,回车换行。
import javasql;
public class DataBasePractice {
public static void main(String[] args) {
//声明Connection对象
Connection con;
//驱动程序名
String driver = "commysqljdbcDriver";
//URL指向要访问的数据库名mydata
String url = "jdbc:mysql://localhost:3306/mydata";
//MySQL配置时的用户名
String user = "root";
//MySQL配置时的密码
String password = "root";
//遍历查询结果集
try {
//加载驱动程序
ClassforName(driver);
//1getConnection()方法,连接MySQL数据库!!
con = DriverManagergetConnection(url,user,password);
if(!conisClosed())
Systemoutprintln("Succeeded connecting to the Database!");
//2创建statement类对象,用来执行SQL语句!!
Statement statement = concreateStatement();
//要执行的SQL语句
String sql = "select from student";
//3ResultSet类,用来存放获取的结果集!!
ResultSet rs = statementexecuteQuery(sql);
Systemoutprintln("-----------------");
Systemoutprintln("执行结果如下所示:");
Systemoutprintln("-----------------");
Systemoutprintln(" 学号" + "\t" + " 姓名");
Systemoutprintln("-----------------");
String name = null;
String id = null;
while(rsnext()){
//获取stuname这列数据
name = rsgetString("stuname");
//获取stuid这列数据
id = rsgetString("stuid");
//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
//然后使用GB2312字符集解码指定的字节数组。
name = new String(namegetBytes("ISO-8859-1"),"gb2312");
//输出结果
Systemoutprintln(id + "\t" + name);
}
rsclose();
conclose();
} catch(ClassNotFoundException e) {
//数据库驱动类异常处理
Systemoutprintln("Sorry,can`t find the Driver!");
eprintStackTrace();
} catch(SQLException e) {
//数据库连接失败异常处理
eprintStackTrace();
}catch (Exception e) {
// TODO: handle exception
eprintStackTrace();
}finally{
Systemoutprintln("数据库数据成功获取!!");
}
}
}
在上面while代码段后面添加以下代码段:
String name = null;
String id = null;
while(rsnext()){
//获取stuname这列数据
name = rsgetString("stuname");
//获取stuid这列数据
id = rsgetString("stuid");
//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
//然后使用GB2312字符集解码指定的字节数组。
name = new String(namegetBytes("ISO-8859-1"),"gb2312");
//输出结果
Systemoutprintln(id + "\t" + name);
}
PreparedStatement psql;
ResultSet res;
//预处理添加数据,其中有两个参数--“?”
psql = conprepareStatement("insert into student values(,)");
psqlsetInt(1, 8); //设置参数1,创建id为5的数据
psqlsetString(2, "xiaogang"); //设置参数2,name 为小明
psqlexecuteUpdate(); //执行更新
//预处理更新(修改)数据
psql = conprepareStatement("update student set stuname = where stuid = ");
psqlsetString(1,"xiaowang"); //设置参数1,将name改为王五
psqlsetInt(2,10); //设置参数2,将id为2的数据做修改
psqlexecuteUpdate();
//预处理删除数据
psql = conprepareStatement("delete from student where stuid = ");
psqlsetInt(1, 5);
psqlexecuteUpdate();
//查询修改数据后student表中的数据
psql = conprepareStatement("selectfrom student");
res = psqlexecuteQuery(); //执行预处理sql语句
Systemoutprintln("执行增加、修改、删除后的数据");
while(resnext()){
name = resgetString("stuname");
id = resgetString("stuid");
name = new String(namegetBytes("ISO-8859-1"),"gb2312");
Systemoutprintln(id + "\t" + name);
}
resclose();
psqlclose();
以上就是关于如何连接sqlserver数据库全部的内容,包括:如何连接sqlserver数据库、网上下的pb源码如何连接配置数据库啊、C#中连接数据库的代码是什么 写在什么地方的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)