数据库连接出错[代码:02],请检查数据库链接文件中的连接字串

数据库连接出错[代码:02],请检查数据库链接文件中的连接字串,第1张

不知道您是否是使用NET还是Java程序编程的,下面给出两种情况:

一、NET:

最简单的方法就是打开开发工具的内置数据链接Server(视图->服务器浏览器),选择一个您要链接的SQL数据库,拷贝右边的属性(Data Source)中字符串链接即可。

次简单的办法是随便创建一个Winform,然后拖拉一个数据源控件(链接Access的使用OledbConnection,SQL的为SQLConnection,如果左边的控件工具箱中没有,必须右键点击“选择项”进行加载)。拖拉之后应该会出现向导设置,设置完毕之后重新点击控件,拷贝Data Source中的数据源链接字符窜即可。

最麻烦的办法就是记住以下的字符串:

Server=(localhost)或.或远程主机名:端口号(1433默认);data source=数据库名;integrated security=sspi(表示启用Windows身份验证,设置成false则必须提供user id=XXX pwd=XXX和persist security info=false)

如果您要创建一个安全的自己链接的SQL字符串,则可以如下:

Server=.Data Source=数据库名integrated security=falseuser id=XXXpwd=XXXpersist security info=false

如果是链接一个Access数据库,则可以如下:

Provider=microsoft.oledb.jet4.0data source=文件名.mdb[pwd=XX](如果有密码可选)

二、Java:

在控制面板(数据源)设置完Odbc桥链接后,按照以下步骤实现链接:

1、加载驱动:引入驱动包java.sql.*,——Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

2、获取链接:Connection con=DriverManager.getConnection("jdbc:odbc:您的ODBC数据库别名")

3、数据 *** 作:使用Statement或者PrepareStatement类(建议使用后者):

PrepareStatement pstmt=con.getPrepareStatement(SQL语句)

pstmt.setXXX(类型)(序号,从1开始,真实数据)。

……

pstmt.executeUpdate(增、删与改)。

4、获取结果:使用ResultSet结果集:

ResultSet rs=pstmt.executeQuery(查询语句)

Data Source=myServerAddressInitial Catalog=myDataBaseUser Id=myUsernamePassword=myPassword

Data Source=190.190.200.100,1433Network Library=DBMSSOCNInitial Catalog=myDataBaseUser ID=myUsernamePassword=myPassword

Server=myServerAddressDatabase=myDataBaseUser ID=myUsernamePassword=myPasswordTrusted_Connection=False

Server=myServerAddressDatabase=myDataBaseTrusted_Connection=True

Server=myServerName\theInstanceNameDatabase=myDataBaseTrusted_Connection=True

Data Source=myServerAddressInitial Catalog=myDataBaseIntegrated Security=SSPI

1:Integrated Security参数

当设置Integrated Security为 True 的时候,连接语句前面的 UserID, PW 是不起作用的,即采用windows身份验证模式。

只有设置为 False 或省略该项的时候,才按照 UserID, PW 来连接。

Integrated Security 还可以设置为:sspi ,相当于 True,建议用这个代替 True。

Data Source=myServerAddressInitial Catalog=myDataBaseIntegrated Security=SSPI

Data Source=myServerAddressInitial Catalog=myDataBaseIntegrated Security=true

Data Source=myServerAddressInitial Catalog=myDataBaseUser ID=myUsernamePassword=myPasswordIntegrated Security=false

2:参数Trusted_Connection

Trusted_Connection=true,将使用当前的 Windows 帐户凭据进行身份验证

Trusted_Connection=false将不采用信任连接方式(也即不采用Windows验证方式),而改由SQL Server 2000验证方式

Server=myServerAddressDatabase=myDataBaseUser ID=myUsernamePassword=myPasswordTrusted_Connection=false

Server=myServerAddressDatabase=myDataBaseTrusted_Connection=True

3:Initial Catalog是你要连接的数据库的名字

4:WINCE连接

Data Source=myServerAddressInitial Catalog=myDataBaseIntegrated Security=SSPIUser ID=myDomain\myUsernamePassword=myPassword

二:可以利用SqlConnectionStringBuilder,这样不必去记住名称。

SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder()

scsb.DataSource = @"(local)\SQLExpress"

scsb.IntegratedSecurity = true

scsb.InitialCatalog = "Northwind"

SqlConnection myConnection = new SqlConnection(scsb.ConnectionString)

三:可以利用属性中的Setting来自动设置连接字符串

1:在type中选择 (connection string),

2:在DataSouce中选择数据源,然后再Server中输入服务器名,本地用(local)\SQLExpress

3:选择登陆验证方式,本次选Windows验证(即信任连接Integrated Security=True)

4:选择数据库名,确认即可

Data Source=(local)\SQLExpressInitial Catalog=NorthwindIntegrated Security=True

server = .\sqlexpressintegrated security = truedatabase = northwind

四:SQL2005远程服务器连接方法

如何打开sql server 2005 的1433端口:

配置工具->Sql Server Configuration Manager->MSSQLSERVER的协议看看TCP/IP协议是否启动,如果启动,右键菜单点"属性" ,在分页菜单中选"IP地址",把"IP1"和"IP2"中"TCP端口"为1433,"已启用"改为"是"

配置工具->Sql Server Configuration Manager->SQL Native Client 配置->客户端协议->TCP/IP选择TCP/IP右键菜单中"属性",确认"默认端口"是1433,"已启用"为"是"。

SQL Server 2005 远程连接配置TCP/IP属性:

Surface Area Configuration -->Database Engine -->Remote Connections --->Using TCP/IT SQL Server 外围应用配置器?服务和连接外围配置?database englie?远程连接?启用(远程连接的TCP/IP和named pipes)

SQL Server Configuration Manager?SQL2005网络配置?启用TCP/IP和named pipes

其他说明见下: sqlserver2005(Express版),为了便于管理,你还需要去下一个manage管理器

安装好manage管理器后,在程序中连接sqlserver2005,下面几点是要注意的。

1. 开启sql2005远程连接功能,开启办法如下, 配置工具->sql server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine 节点,先择"远程连接",接下建议选择"同时使用TCP/IP和named pipes",确定后,重启数据库服务就可以了.

2.登陆设置改为,Sql server and windows Authentication方式同时选中,具体设置如下: manage管理器->windows Authentication(第一次用windows方式进去),->对象资源管理器中选择你的数据服务器--右键>属性>security>Sql server and windows Authentication方式同时选中.

3:设置一个Sql server方式的用户名和密码,具体设置如下: manage管理器->windows Authentication>new query>sp_password null,'sa123456','sa' 这样就设置了一个用户名为sa ,密码为:sa123456的用户,下次在登陆时,可以用Sql server方式, 用户名为sa ,密码为:sa123456的用户进数据库了.

4: 做完上面三步后,这样写连接字符串就可以顺利进入数据库了,

(server=.\sqlexpressuid=sapwd=sa123456database=master"

五:SQL2000远程服务器连接方法

1:看ping 服务器IP能否ping通。

2:在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。 如telnet 202.114.100.100 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 127.0.0.1 1433 listening 的项。如果没有,则通常需要给sql server 2000打上至少sp3的补丁。其实在服务器端启动查询分析器,输入 select @@version 执行后可以看到版本号,版本号在8.0.2039以下的都需要打补丁。如果以上都没问题,这时你再做telnet 服务器ip 1433 测试,将会看到屏幕一闪之后光标在左上角不停闪动。恭喜你,你马上可以开始在企业管理器或查询分析器连接了。

3: 检查客户端设置程序->Microsoft SQL Server ->客户端网络使用工具。像在服务器网络实用工具里一样,确保客户端tcp/ip协议启用,并且默认端口为1433(或其他端口,与服务器端保持一致就行)。

4:在企业管理器里或查询那分析器连接测试 企业管理器->右键SQlserver组->新建sqlserver注册->下一步->写入远程IP->下一步->选Sqlserver登陆->下一步->写入登陆名与密码(sa,password)->下一步->下一步->完成 查询分析器->文件->连接->写入远程IP->写入登录名和密码(sa,password)->确定通常建议在查询分析器里做,因为默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是4秒,而查询分析器是15秒。修改默认连接超时的方法: 企业管理器->工具->选项->在d出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡->连接设置->在 登录超时(秒) 后面的框里输入一个较大的数字查询分析器->工具->选项->连接->在 登录超时(秒) 后面的框里输入一个较大的数字通常就可以连通了,如果提示错误,则进入下一步。

5:错误产生的原因通常是由于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启动服务,也是一种快捷的方法)。

修改数据库身份模式的验证...

解决方法如下,打Microsoft Sql Server Management Studio Express,以windows验证方式登陆,打开服务器属性窗口(在数据库服务器图标上点右键选"属性"),选择"安全性"选项,

服务器验证方式选择SQL SERVERTT和windows验证方式,确认

然后再到"安全性-登陆名"处设置SA用户属性,

设置密码

解决方法:打开“开始—所有程序—Microsoft SQL Server 2005 —配置工具—SQL Server 配置管理器”,在d出的窗体中,找到“SQL Server 2005 网络配置”,把“MSSQLSERVER的协议”下的“Named Pipes”和“TCP/IP”启用,然后重新启动SQL Server 即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9775370.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存