导航:首页 > 数据分析 > 狐表如何连接数据库

狐表如何连接数据库

发布时间:2023-07-22 17:07:16

A. 如何连接oracle数据库

如何配置才能使客户端连到数据库:x0dx0ax0dx0a要使一个客户端机器能连接oracle数据库,需要在客户端机器上安装oracle的客户端软件,唯一的例外就是java连接数据库的时候,可以用 x0dx0ajdbc x0dx0athin模式,不用装oracle的客户端软件。加入你在机器上装了oracle数据库,就不需要在单独在该机器上安装oracle客户端了,因为装 x0dx0aoracle数据库的时候会瞎培余自动安装oracle客户端。x0dx0a 用过sql x0dx0aserver数据库然后又用oracle的新手可能会有这样的疑问:问什么我用sql server的时候不用装sql x0dx0aserver的客户端呢?原因很简单,sql server也是microsoft的,它在操作系统中集成了sql x0dx0aserver客户端,如果microsoft与oracle有协议,将oracle客户端也集成到操作系统中,那我们也就不用在客户端机器装oraclex0dx0a 客户端软机就可访问数据库了,不过,这好像是不可能实现的事情。x0dx0a 也有的人会问:为什么在sql x0dx0aserver中没有侦听端口一说,而在oracle中要配置侦听端口?其实sql x0dx0aserver中也有侦听端口,只不过microsoft将侦听端口固定为1433,不允许你随便改动,这样给你一个错觉感觉sql x0dx0aserver中没有侦听端口,咳,microsoft把太多的东西都封装到黑盒子磨滚里,方便使用的同时也带来的需要副作用。而oracle中的侦听端口直接x0dx0a 在配置文件中,允许随便改动,只不过无论怎样改动,要与oracle服务器端设置的侦听端口一致。x0dx0a好,言归正传,我们如何做才能使客户端机器连接到oracle数据库呢?x0dx0aA. 安装相关软件x0dx0aB. 进行适当的配置x0dx0ax0dx0aA.在适当的位置安装适当的软件:x0dx0a在客户端机器:x0dx0a1.在客户端机器上安装ORACLE的Oracle Net通讯软件,它包含在oracle的客户端软件中。x0dx0a2.正确配置了sqlnet.ora文件:x0dx0aNAMES.DIRECTORY_PATH = (TNSNAMES, ?.)x0dx0aNAMES.DEFAULT_DOMAIN=DB_DOMAINx0dx0a一般情况下我们不用NAMES.DEFAULT_DOMAIN参数。如果想不用该参数用#注释掉或将该参数删除即可,对于NAMES.DIRECTORY_PATH参数采用缺省值即可,对于NAMES.DEFAULT_DOMAIN参数有时需要注释掉,在下面有详细解释。x0dx0a3.正确配置了tnsname.ora文件x0dx0ax0dx0a在服务器端机器:x0dx0a1.保证listener已经启动x0dx0a2.保证数据库已经启动。x0dx0a如果数据库没有启动,用:x0dx0aOracle 9i:x0dx0ados>sqlplus “/ as sysdba”x0dx0asqlplus> startupx0dx0aOracle 8i:x0dx0ados>svrmgrlx0dx0asvrmgrl>connect internalx0dx0asvrmgrl>startupx0dx0a命令启动数据库x0dx0a如果listener没有启动,用:x0dx0alsnrctl start [listener name]x0dx0alsnrctl status [listener name]x0dx0a命令启动listenerx0dx0aB.进行适当的配置x0dx0a如何正确配置tnsname.ora文件:x0dx0ax0dx0a可x0dx0a 以在客户端机器上使用oracle Net Configuration Assistant或oracle Net x0dx0aManager图形配置工具对客户端进行中贺配置,该配置工具实际上修改tnsnames.ora文件。所以我们可以直接修改tnsnames.ora文件,x0dx0a 下面以直接修改tnsnames.ora文件为例:x0dx0a该文件的位置为: ?\network\admin\tnsnames.ora (for windows)x0dx0a?/network/admin/tnsnames.ora (for unix)x0dx0a此处,假设服务器名为testserver,服务名为orcl.testserver.com,使用的侦听端口为1521,则tnsnams.ora文件中的一个test网络服务名(数据库别名)为:x0dx0atest =x0dx0a(DESCRIPTION=x0dx0a(ADDRESS_LIST=x0dx0a(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521))x0dx0a)x0dx0a(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)x0dx0a)x0dx0a)x0dx0a此处的笑脸为)。x0dx0a 红色的内容为需要根据实际情况修改的内容,现解释如下:x0dx0a PROTOCOL:客户端与服务器端通讯的协议,一般为TCP,该内容一般不用改。x0dx0ax0dx0aHOST:数据库侦听所在的机器的机器名或IP地址,数据库侦听一般与数据库在同一个机器上,所以当我说数据库侦听所在的机器一般也是指数据库所在的机 x0dx0a x0dx0a器。在UNIX或WINDOWS下,可以通过在数据库侦听所在的机器的命令提示符下使用hostname命令得到机器名,或通过ipconfig(forx0dx0a WINDOWS) or ifconfig(for x0dx0aUNIX)命令得到IP地址。需要注意的是,不管用机器名或IP地址,在客户端一定要用ping命令ping通数据库侦听所在的机器的机器名,否则需要在x0dx0a hosts文件中加入数据库侦听所在的机器的机器名的解析。x0dx0ax0dx0aPORT:数据库侦听正在侦听的端口,可以察看服务器端的listener.ora文件或在数据库侦听所在的机器的命令提示符下通过lnsrctl status [listener name]命令察看。此处Port的值一定要与数据库侦听正在侦听的端口一样。x0dx0a SERVICE_NAME:在服务器端,用system用户登陆后,sqlplus> show parameter service_name命令察看。x0dx0a 如何利用配置的网络服务名连接到数据库:x0dx0a 用sqlplus程序通过test网络服务名进行测试,如sqlplus system/manager@test。x0dx0a 如果不能连接到数据库,则在tnsname.ora文件中的test网络服务名(net x0dx0aservice)后面加上sqlnet.ora文件中NAMES.DEFAULT_DOMAIN参数的值,此处我的参数值为 x0dx0atestserver.com,将其加到网络服务名后面,修改后的tnsname.ora中关于该网络服务名的内容为:x0dx0ax0dx0a 什么情况下会引起oracle自动设置NAMES.DEFAULT_DOMAIN参数?x0dx0a x0dx0a 出现这种情况的典型环境为windows的客户端的‘我得电脑à属性à计算机名à更改à其它?à此计算机的主DNS后缀’中设置了‘primary x0dx0a dns x0dx0asuffix’,因为在这种情况下安装客户端时,会在sqlnet.ora文件中自动设置NAMES.DEFAULT_DOMAIN参数,或许当把计算机x0dx0a 加入域中安装oracle客户端时也会出现这种情况,有条件的话大家可以试一下。x0dx0ax0dx0a我在设置oracle的客户端时一般手工修改tnsnames.ora文件,但是还有许多人喜欢用图形工具配置,该图形工具最终还是修改tnsnames.ora文件,但是它有时会引起其它的问题:x0dx0ax0dx0a在用oracle的图形配置软件'net assistant'或‘Net Configuration x0dx0aAssistant’配置网络服务名时,假如已经设置了‘primary dns x0dx0asuffix’,但是在图形配置软件中写的网络服务名的名字中没有‘primary dns x0dx0asuffix’,如只是写了test,则图形配置软件会自动在后面加上‘primary dns x0dx0asuffix’,使之变为test.testserver.com,并存在tnsnames.ora中,而不管你的sqlnet.ora文件中是否有 x0dx0aNAMES.DEFAULT_DOMAIN参数。此时,用图形工具进行测试连接是通过的,但是假如此时sqlnet.ora文件中没有 x0dx0aNAMES.DEFAULT_DOMAIN参数,则你在使用网络服务名时应该使用在tnsnames.ora中的 x0dx0atest.testserver.com,而不是你在图形配置软件中键入的test。解决的办法为:x0dx0a<1>可以在sqlnet.ora文件中设置NAMES.DEFAULT_DOMAIN= testserver.com,这时你可以用test或test.testserver.com连接数据库x0dx0a<2>在sqlnet.ora文件中不设置NAMES.DEFAULT_DOMAIN参数,在tnsnames.ora文件中将test.testserver.com中的.testserver.com去掉,这时你可以用test连接数据库。x0dx0ax0dx0a关于为什们在网络服务名后面加db_domain参数,需要了解sql*plus连接数据库的原理,我在后面解决12154常见故障中给出了详细的说明。x0dx0ax0dx0a如果上面的招数还不奏效的话,只好用一下乾坤大挪移了。x0dx0a将客户端的网络服务名部分x0dx0atest.testserver.com =x0dx0a(DESCRIPTION=x0dx0a(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521))x0dx0a)x0dx0a(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)x0dx0a)x0dx0a)x0dx0a此处的笑脸为)。x0dx0a拷贝到服务器的tnsnames.ora文件中。然后再服务器端用sqlplus system/[email protected]连接到数据库。x0dx0a 如果能连接成功,说明你的客户端与服务器端的网络有问题。x0dx0a 如果连接不成功,用前面的部分检查网络服务名部分部分是否正确,如果确信网络服务名部分正确而且所有的客户端都连不上数据库则可能为系统TCP/IP或Oracle系统有问题,建议重新安装数据库。x0dx0a该错误表示用于连接的网络服务名在tnsnames.ora文件中不存在,如上面的tnsnames.ora中的网络服务名只有test,假如用户在连接时用sqlplus system/manager@test1则就会给出TNS-12154错误。x0dx0a要注意的是,有时即使在tnsnames.ora文件中有相应的网络服务名,可是用该网络服务名连接时还会出错,出现这种情况的典型配置如下(在客户端的机器上):x0dx0asqlnet.ora文件:x0dx0aNAMES.DIRECTORY_PATH = (TNSNAMES, ?.)x0dx0aNAMES.DEFAULT_DOMAIN = server.comx0dx0atnsnames.ora文件:x0dx0atest =x0dx0a(DESCRIPTION=x0dx0a(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521))x0dx0a)x0dx0a(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)x0dx0a)x0dx0a)x0dx0a此处的笑脸为)。x0dx0asql*plus运行基本机理:x0dx0a 在用户输入sqlplus system/manager@test后,sqlplus程序会自动到sqlnet.ora文件中找NAMES.DEFAULT_DOMAIN参数,假 如该参数存在,则将该参数中的值取出,加到网络服务名的后面, x0dx0ax0dx0a即此例中你的输入由sqlplus system/manager@test自动变为sqlplus system/[email protected] x0dx0a,然后再到tnsnames.ora文件中找test.server.com网络服务名,这当然找不到了,因为该文件中只有test网络服务名,所以报 x0dx0a 错。解决的办法就是将sqlnet.ora文件中的NAMES.DEFAULT_DOMAIN参数注释掉即可,如 x0dx0a#NAMES.DEFAULT_DOMAIN = x0dx0aserver.com。假如NAMES.DEFAULT_DOMAIN参数不存在,则sqlplus程序会直接到tnsnames.ora文件中找 x0dx0atest网络服务名,然后取出其中的host,port,tcp,service_name,利用这些信息将连接请求发送到正确的数据库服务器上。x0dx0a 另外原则上tnsnames.ora中的配置不区分大小写,但是我的确遇到区分大小写的情况,所以最好将使用的网络服务与tnsnames.ora中配置的完全一样。x0dx0aORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect Descriptor.x0dx0a该错误表示能在tnsnames.ora中找到网络服务名,但是在tnsnames.ora中指定的SERVICE_NAME与服务器端的SERVICE_NAME不一致。解决的办法是修改tnsnames.ora中的SERVICE_NAME。x0dx0ax0dx0a 易混淆术语介绍:x0dx0a x0dx0a Db_name:对一个数据库(Oracle database)的唯一标识,该数据库为第一章讲到的Oracle x0dx0adatabase。这种表示对于单个数据库是足够的,但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负 x0dx0a 担,因为各个数据库的名字可能一样,造成管理上的混乱。为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和 x0dx0aDb_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。这类似于互连网上的机器名的管理。我们将Db_name和 x0dx0aDb_domain两个参数用’.’连接起来,表示一个数据库,并将该数据库的名称称为Global_name,即它扩展了Db_name。 x0dx0aDb_name参数只能由字母、数字、’_’、’#’、’$’组成,而且最多8个字符。x0dx0ax0dx0a Db_domain:定义一个数据库所在的域,该域的命名同互联网的’域’没有任何关系,只是数据库管理员为了更好的管理分布式数据库而根据实际情况决定的。当然为了管理方便,可以将其等于互联网的域。x0dx0ax0dx0aGlobal_name:对一个数据库(Oracle x0dx0adatabase)的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为Db_name. x0dx0aDb_domain。在以后对参数文件中Db_name与Db_domain参数的任何修改不影响Global_name的值,如果要修改 x0dx0aGlobal_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO x0dx0a命令进行修改,然后修改相应参数。x0dx0ax0dx0aService_name:该参数是oracle8i新引进的。在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,x0dx0a x0dx0a一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,x0dx0a 而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name. x0dx0aDb_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关x0dx0a 系,即不必Service name 必须与SID一样。x0dx0aNet service name:网络服务名,又可以称为数据库别名(database alias)。是客户端程序访问数据库时所需要,屏蔽了客户端如何连接到服务器端的细节,实现了数据库的位置透明的特性。

B. 怎么创建数据库连接

必须先创建连接,然后才能连接到数据库。 可通过在以下对话框中单击“新建连接”来创建连接: “数据比较”对话框 “架构比较”对话框 Transact-SQL 编辑器的“连接到服务器”对话框 数据生成器的“为目标数据库生成数据”对话框 数据库单元测试的“数据库测试配置”对话框 还可以使用“服务器资源管理器”来添加连接。 有关更多信息,请参见 如何:从服务器资源管理器连接到数据库。 重要事项 您只能从“服务器资源管理器”中删除连接。 主题内容 通过单击“新建连接”来添加连接 重命名连接 修改连接 删除连接通过单击“新建连接”来添加连接 单击“新建连接”。 随即出现“连接属性”对话框。 在“服务器名称”中键入或单击要连接的服务器的名称。 若要使用 Microsoft Windows 凭据来登录到服务器上,请单击“使用 Windows 身份验证”。 若要使用 SQL Server 身份验证来登录到服务器上,请单击“使用 SQL Server 身份验证”,然后在“用户名”和“密码”中键入用户名和密码。 在“连接到数据库”中键入或单击要连接的数据库的名称。 (可选)可以单击“高级”配置高级连接属性。 (可选)可以单击“测试连接”验证是否可以使用指定的连接信息连接到数据库。 单击“确定”创建连接。 重命名连接 在“视图”菜单上,单击“服务器资源管理器”。 展开“数据连接”节点,右击需要重命名的连接,然后单击“重命名”。 键入连接的新名称,然后按 Enter。 修改连接 在“视图”菜单上,单击“服务器资源管理器”。 展开“数据连接”节点,右击需要重命名的连接,然后单击“修改连接”。 随即出现“修改连接”对话框。 更新连接的信息,然后单击“确定”。 如果您决定不修改连接,则单击“取消”放弃更改。 删除连接 在“视图”菜单上,单击“服务器资源管理器”。 展开“数据连接”节点,右击需要重命名的连接,然后单击“删除”。 在确认对话框中单击“是”以删除连接。 安全性 建议不选择“保存密码”复选框,将 SQL Server 密码与连接字符串一起存储。 客户反馈

C. 如何连接sqlserver数据库

远程连接sql server 2000服务器的解决方案

一、 看ping 服务器IP能否ping通。
这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。拆段

二 、在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 测试,将会看到屏幕一闪之后光标在左上角不停闪动。恭喜,马上可以开始在企业管理器或查询分析器连接了。

三、 检查客户端设置

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

四、 在企业管理器里或查询那分析器连接测试

企业管理器->右键SQlserver组->新建sqlserver注册->下一步->写入远程IP->下一步->选Sqlserver登陆->下一步->写入登陆名与密码(sa,password)->下一步->下一步->完成
查询分析器->文件->连接->写入远程IP->写入登录名和密码(sa,password)->确定

通常建议在查询分析器里做,因为默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是4秒,而查询分析器是15秒。
修改默认连接超时的方法:

企业管理器->工具->选项->在弹出的"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,因此在本地能连通是不能说明什么问题的,连接远程服务器是完全不同的协议)

D. 链接数据库有哪些方法

常见的数据库连接方法如下:
一、连接Access数据库
1.
使用已有DSN的连接字符串进行连接(ODBC);
2.使用无DSN的连接字符串进行连接(ODBC);
3.使用连接字符串进行连接(OLEDB);
4.使用UDL文件进行连接;
使用UDL文件连接数据源的步骤如下:
(1)新建一个记事本,其扩展名为.udl。
(2)双击该UDL文件,弹出“数据连接属性”对话框。
(3)该对话框首页显示“提供程序”选项卡,选择要使用的OLEDB提供程序。
(4)单击“下一步”,显示"l连接“选项卡”,设置好正确的参数后,单击“测试连接”
二、连接MySQL数据库
1.使用已有DSN的连接字符串进行连接;
2.使用无DSN的连接字符串进行连接;
三、连接Oracle数据库
1.使用Oracle.NET
Data
Provider(需要安装Oracle客户端)
2.使用ODBC.NET
Data
Provider
3.使用OLE
DB.NET
Data
Provider

阅读全文

与狐表如何连接数据库相关的资料

热点内容
蝴蝶钱包app 浏览:681
联通查询账号密码修改 浏览:774
文件头线到上纸边距离是多少 浏览:36
苹果手机怎样备份文件在哪里 浏览:425
zemax在哪里编程ZPL 浏览:563
如何撤销word空白页 浏览:296
什么叫网络连接超时 浏览:49
京东热点代码 浏览:484
慧博app下载的文件放在哪里 浏览:859
PDF文件横向太长显示不出来 浏览:974
js缓存文件怎么打开 浏览:983
网页如何打开编程码 浏览:369
网站被终止安全访问怎么办 浏览:672
用微信送达文件 浏览:655
win7硬盘安装文件损坏 浏览:394
最终幻想14版本职业 浏览:175
红警2哪个版本好 浏览:290
app开发短视频页面用什么技术 浏览:471
魅族mx3手机后台运行程序图标怎么去掉 浏览:344
微信号突然被永久封 浏览:298

友情链接