sqlint
㈠ 怎样实现 用isql导出sybase 数据文件 用 excel 直接打开
提供两种解决方案:
使用sqlserver带的数据导入导出功能。
如果数据内部数据类型比较简单的话,也就是没有那些换行或者tab键之类的数据。可以将excel内的数据拷贝到记事本种,然后使用sybase的bcp工具导入sybase库中。
sybase是美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。Sybase提供了一套应用程序编程接口和库,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。
㈡ 如何配置和使用iSQL*Plus
1。确认安装了Oracle HTTPServer和iSQL*Plus Server
2。在安装的结尾部分将会显示登陆iSQL*Plus的默认端口,如果没有看到或者忘记了,那么可以检查如下文件来确认:
NT:%ORACLE_HOME%\Apache\Apache\conf\httpd.conf
UNIX:$ORACLE_HOME/Apache/Apache/bin/conf/httpd.conf
查看Port和Listen 的参数值,默认应该是:
Port 7778
Listen 7778(HTTP)
Listen 4443(HTTPS)
可以通过编辑oracle_apache.conf配置文件启用或禁用 iSQL*Plus,注释以下行即可禁用
include"ORACLE_HOME\sqlplus\admin\isqlplus.conf
3。iSQL*Plus 的配置文件在
NT:%ORACLE_HOME%\sqlplus\admin\isqlplus.conf
UNIX:$ORACLE_HOME/sqlplus/admin/isqlplus.conf
4。确认已经启动了Oracle HTTPServer
5。登录
登入普通用户,输入以下URL:
登入DBA用户,输入以下URL:
获取Server的统计信息:
其中refresh的最小值是10秒
6。如果要登录使用 SYSDBA 或 SYSOPER 权限登录到iSQL*Plus,以通过 iSQL*Plus 执行数据库管理并运行 DBA 命令,则必须要Oracle HTTP Server验证,这个用户名和密码跟数据库的用户名密码无关。当然通过验证之后,还需要输入Oracle数据库中的具有SYSDBA或者SYSOPER权限的用户名和密码。
要通过Oracle HTTP Server验证,则必须将用户名和口令添加到 Oracle HTTP Server 验证文件中(用户验证文件位于%ORACLE_HOME%\sqlplus\admin\iplusdba.pw),作如下操作:
a。进入%ORACLE_HOME%\Apache\Apache\bin目录
b。运行 htpasswd 实用程序:
C:\oracle\ora92\Apache\Apache\bin>htpasswd-help
Usage:
htpasswd [-cmdps] passwordfile username
htpasswd -b[cmdps] passwordfile usernamepassword
htpasswd -n[mdps] username
htpasswd -nb[mdps] username password
-c Create a new file.
-n Don't update file; display results onstdout.
-m Force MD5 encryption of the password(default).
-d Force CRYPT encryption of the password.
-p Do not encrypt the password (plaintext).
-s Force SHA encryption of the password.
-b Use the password from the command linerather than prompting for it.
On Windows, TPF and NetWare systems the'-m' flag is used by default.
On all other systems, the '-p' flag willprobably not work.
比如运行:
htpasswdC:\oracle\ora92\sqlplus\admin\iplusdba.pw dbmanager
Automatically using MD5 format on Windows.
New password: *********
Re-type new password: *********
Adding password for user dbmanager
要启动 iSQL*Plus,请执行以下步骤:
连接到 Internet 或 Intranet,然后启动 Web 浏览器。
在 Web 浏览器的“位置”字段或“地址”字段中,输入 Oracle9i HTTP Server URL,并接着输入 isqlplus。iSQL*PlusURL 如下所示:
如果您不知道 Oracle9i HTTP Server URL,请向系统管理员咨询。
按 Enter 键将转到该 URL。Web 浏览器中将显示 iSQL*Plus“登录”屏幕。
在“用户名”字段和“口令”字段中,输入 Oracle9i 用户名和口令。如果您不知道 Oracle9i 用户名和口令,请向数据库管理员咨询。
将“连接标识符”字段保留为空可以连接到默认数据库。输入 Oracle Net 数据库别名时,可以连接到默认数据库以外的其他数据库。如果已配置了限制的数据库访问,“连接标识符”字段就会变成可供选择的可用数据库的下拉列表。
单击“登录”,连接到相关数据库。Web 浏览器上将会显示 iSQL*Plus“工作屏幕”。
此时,您可以在“工作屏幕”的输入区域中输入并执行 SQL、PL/SQL 和 SQL*Plus 语句和命令。
格式 username/password
假设oracle的bin已经在PATH中了,所有操作以oracle身份运行
sys用户:oracle的DBA
测试用户 scott/tiger
网络配置工具 netca
创建数据库 dbca
代理配置 agentctl start
首先要打开监听
lsnrctl start
停止监听lsnrctl stop
进入sqlplus控制台方法
$ sqlplus /nolog
$ sqlplus / as sysdba
$ sqlplus sys/password as sysdba
登录远程数据库用username/password@hostname
进入sqlplus后
SQL>conn sys/password as sysdba --建立连接
或者
SQL>conn / as sysdba
然后
SQL>startup --启动数据库
SQL> show user --显示用户名
SQL>shutdown --关闭数据库
SQL> shutdown immediate
SQL> exit --退出sqlplus
使用 Oracle Enterprise Manager 10g 数据库控制
在 Web 浏览器中,连接到安装过程中提供的 URL。
例如:
http://ds1.orademo.org:5500/em(如果服务器不在 DNS 中,则必须使用 IP 地址代替主机名。)
用户名:SYS
口令:<安装过程中选择的口令>
连接为:SYSDBA
单击 <Login>
欢迎走入 Oracle Enterprise Manager 10g 数据库控制的精彩世界!
启动和停止 Oracle Enterprise Manager 数据库控制:
$ emctl start dbconsole
$ emctl stop dbconsole
使用 iSQL*Plus 访问数据库
iSQL*Plus 是历史悠久的 SQL*Plus 交互式工具的基于 Web 的版本,用于访问数据库。要使用 iSQL*Plus,请单击 OEM 控制台 Related Links 部分中的 iSQL*Plus 链接,或将浏览器指向安装过程中提供的 iSQL*Plus URL。
例如:
http://ds1.orademo.org:5560/isqlplus(如果数据库服务器不在DNS 中,则必须使用 IP 地址代替主机名。)
用户名:SYSTEM
口令:<安装过程中选择的口令>
单击 <Login>。
在 Workspace 框中输入 SQL 命令,然后单击 Execute。
启动和停止 iSQL*Plus:
$ isqlplusctl start
$ isqlplusctl stop
启动和停止监听器:
监听器接受客户端的连接请求,并在验证证书后创建数据库连接。要使用 OEM 或 iSQL*Plus,必须先启动监听器。
$ lsnrctl start
$ lsnrctl stop
启动和停止数据库:
启动和停止数据库的最简单方法是从 OEM 控制台启动和停止。要从命令行执行此操作,请在以 oracle 身份登录后使用 SQL*Plus,然后就和上面列出的一样了
列出 Oracle 进程:
㈢ 是什么意思,sql,死锁中spid是啥
SQL Server中的SPID,是唯一的sessionID
像.net中的session一样,如果能知道了数据库中的sessionID,那所有的操作都能知道了,因为有了这个唯一的身份识别的标识。
可以做的事情有很多,如:当前哪个用户在做什么操作,在执行什么sql, 又如一个比较大的逻辑中要分别执行很多存储过程,
在执行这些存储过程的过程当中,你想知道当前执行的进度,SQLServer正在执行哪个段sql语句,那么通过sessionID是很容易
就得到这些信息的。
SQL Server 得到SPID,唯一的sessionID:
SELECT @@SPID
以前我一直不知道,最近又装了SQLServer2014,发现每开一个Query 界面就有一个ID出来。我就特别想知道怎么取sessionID.
下面的存储过程是用来查看哪些sessionID正在执行什么操作。
createPROC[dbo].[dba_WhatSQLIsExecuting]
AS
BEGIN
--Donotlockanything,anddonotgethelpbyanylocks.--?
SELECT[Spid]=session_Id
,ecid
,[Database]=DB_NAME(sp.dbid)
,[User]=nt_username
,[Status]=er.status
,[Wait]=wait_type
,[IndivialQuery]=SUBSTRING(qt.text,
er.statement_start_offset/2,
(CASEWHENer.statement_end_offset=-1
THENLEN(CONVERT(NVARCHAR(MAX),qt.text))*2
ELSEer.statement_end_offsetEND-
er.statement_start_offset)/2)
,[ParentQuery]=qt.text
,Program=program_name
,Hostname
,nt_domain
,start_time
FROMsys.dm_exec_requestser
INNERJOINsys.sysprocessesspONer.session_id=sp.spid
CROSSAPPLYsys.dm_exec_sql_text(er.sql_handle)asqt
WHEREsession_Id>50--Ignoresystemspids.
ANDsession_IdNOTIN(@@SPID)--Ignorethiscurrentstatement.
--andDB_NAME(sp.dbid)='RangeCheckTool'
ORDERBY1,2
END
㈣ isql.exe 与 osql.exe的用法和区别
对比它们的使用帮助,大部分是一样的。红色部分即它们之间的区别,可以忽略。
下面是一份完整的OSQL的参数,使用方法 :
-L
列出在本地配置的服务器和在网络上广播的服务器的名称。
-U login_id
用户登录 ID。登录 ID 区分大小写。
-P password
是用户指定的密码。如果未使用 -P 选项,osql 将提示输入密码。如果在命令提示符的末尾使用 -P 选项而不带密码,osql 使用默认密码 (NULL)。密码区分大小写。
OSQLPASSWORD 环境变量使您得以为当前会话设置默认密码。因此,不需要通过硬编码来在批处理文件中设置密码。
如果没有为 -P 选项指定密码,osql 首先检查 OSQLPASSWORD 变量。如果未设置值,osql 使用默认密码 (NULL)。以下示例在命令提示符处设置 OSQLPASSWORD 变量,然后访问 osql 实用工具:
C:/>SET OSQLPASSWORD=abracadabra
C:/>osql
-E
使用信任连接而不请求密码。
-S server_name[/instance_name]
指定要连接的 Microsoft SQL Server 2000 实例。在该服务器上指定 server_name 以连接到 SQL Server 的默认实例。在该服务器上指定 server_name/instance_name 以连接到一个已命名的 SQL Server 2000 的实例。如果未指定服务器,osql 将连接到本地计算机上的 SQL Server 默认实例。从网络上的远程计算机执行 osql 时,此选项是必需的。
-H wksta_name
是工作站名称。工作站名称存储在 sysprocesses.hostname 中并由 sp_who 显示。如果未指定此选项,则采用当前计算机名称。
-d db_name
启动 osql 时发出一个 USE db_name 语句。
-l time_out
指定 osql 登录超时之前的秒数。登录到 osql 的默认超时为 8 秒。
-t time_out
指定命令超时之前的秒数。如果未指定 time_out 值,则命令不会超时。
-h headers
指定要在列标题之间打印的行数。默认为每一查询结果集打印一次标题。用 –1 指定不打印标题。如果使用 -1,则在参数和设置之间一定不能有空格(可以是 -h-1,不能是 -h –1)。
-s col_separator
指定列分隔符字符,其默认为空格。若要使用对操作系统有特殊含义的字符(例如 | ; & < >),请将该字符用双引号 (") 引起来。
-w column_width
允许用户设置屏幕输出的宽度。默认为 80 个字符。当输出行达到其最大屏幕宽度时,会拆分为多个行。
-a packet_size
使您得以请求不同大小的数据包。packet_size 的有效值在 512 到 65535 之间。osql 的默认值为服务器的默认值。数据包大小的增加可以提高较大脚本执行的性能,在这种执行中 GO 命令之间 SQL 语句的数量很重要。Microsoft 的测试表明 8192 是大容量复制操作典型的最快设置。可以请求更大的数据包大小,但如果请求不能得到批准,则 osql 默认为服务器的默认值。
-e
回显输入。
-I
设置 QUOTED_IDENTIFIER 连接选项为开启。
-D data_source_name
连接到用 Microsoft SQL Server 的 ODBC 驱动程序定义的 ODBC 数据源。osql 连接使用该数据源中指定的选项。
说明 该选项不适用于其它驱动程序定义的数据源。
-c cmd_end
指定命令终止符。默认情况下,通过单独在一行中输入 GO 来终止命令并将其发送到 SQL Server 2000。在重置命令终止符时,不要使用对操作系统有特殊含义的 Transact-SQL 保留字或字符,无论其前面是否有反斜杠。
-q "query"
启动 osql 时执行查询,但是在查询完成时不退出 osql。(注意查询语句不应包含 GO)。如果从批处理文件中发出查询,请使用 %variables 或环境 %variables%。例如:
SET table = sysobjects
osql /q "Select * from %table%"
将查询用双引号引起来,将查询中嵌入的任何内容用单引号引起来。
-Q "query"
执行查询并立即退出 osql。将查询用双引号引起来,将查询中嵌入的任何内容用单引号引起来。
-n
从输入行中删除编号和提示符号 (>)。
-m error_level
自定义错误信息的显示。显示指定的或更高严重级别错误的消息数、状态和错误级别。不显示严重级别低于指定级别的错误的任何信息。用 -1 指定与消息一起返回所有标题,即使是信息类的消息。如果用 –1,则在参数和设置之间不能有空格(可以是 -m-1,不能是 -m -1)。
-r {0 | 1}
将消息输出重定向到屏幕 (stderr)。如果未指定参数,或指定参数为 0,则仅重定向严重级别为 17 或更高的错误信息。如果指定参数为 1,则将重定向所有消息输出(包括 "print")。
-i input_file
标识包含一批 SQL 语句或存储过程的文件。小于 (<) 比较运算符可以用来代替 –i。
-o output_file
标识从 osql 接收输出的文件。大于 (>) 比较运算符可以用来代替 –o。
如果 input_file 不是 Unicode 并且没有指定 -u,则 output_file 将存储为 OEM 格式。如果 input_file 是 Unicode 或者指定了 -u,则 output_file 将存储为 Unicode 格式。
-p
打印性能统计。
-b
指定发生错误时 osql 退出并返回一个 DOS ERRORLEVEL 值。当 SQL Server 错误信息的严重级别为 10 或更高时,返回给 DOS ERRORLEVEL 变量的值为 1;否则返回 0。Microsoft MS-DOS? 批处理文件可以测试 DOS ERRORLEVEL 的值并适当处理错误。
-u
指定 output_file 存储为 Unicode 格式,而不管 input_file 为何种格式。
-R
指定在将货币、日期和时间数据转换为字符数据时 SQL Server ODBC 驱动程序使用客户端设置。
-O
为与 isql 的早期版本行为匹配,指定停用某些 osql 功能。下列功能停用:
EOF 批处理
控制台宽度自动调整
宽信息
同时还将 DOS ERRORLEVEL 的默认值设置为 –1。
注释
osql 实用工具从操作系统直接启动,并且使用本文中列出的区分大小写的选项。启动后,osql 接受 SQL 语句并将它们交互地发送到 SQL Server。结果被格式化并显示在屏幕上 (stdout)。可使用 QUIT 或 EXIT 退出 osql。
如果启动 osql 时未指定用户名,SQL Server 2000 将检查环境变量并使用它们,例如 osqluser=(user) 或 osqlserver=(server)。如果未设置环境变量,则使用工作站用户名。如果未指定服务器,则使用工作站名称。
如果 -U 或 -P 选项都没有使用,则 SQL Server 2000 将尝试使用 Windows 身份验证模式进行连接。身份验证基于运行 osql 的 Microsoft Windows NT? 用户帐户。
osql 实用工具使用 ODBC API。该实用工具使用 SQL Server 2000 SQL-92 连接选项的 SQL Server ODBC 驱动程序默认设置。有关更多信息,请参见 SQL-92 选项的效果。
有关此实用工具位置和运行方式的信息,请参见命令提示实用工具入门。
OSQL 命令
除了 osql 中使用的 Transact-SQL 语句外,下表中的命令也可用。
命令 描述
GO 执行最后一个 GO 命令之后输入的所有语句。
RESET 清除已输入的所有语句。
ED 调用编辑器。
!! command 执行操作系统命令。
QUIT 或 EXIT( ) 退出 osql。
CTRL+C 键 不退出 osql 而结束查询。
仅当命令终止符 GO(默认)、RESET、ED、!!、EXIT、QUIT 和 CTRL+C 出现在一行的开始(紧跟 osql 提示符)时才可以识别。osql 忽视同一行中这些关键字后输入的任何内容。
GO 表明一批的结束和任何已被高速缓存的 Transact-SQL 语句的执行。在每个输入行的结尾按 ENTER 键时,osql 将高速缓存此行的语句。键入 GO 后按 ENTER 键时,所有当前已缓存的语句都将作为批处理发送到 SQL Server。
当前的 osql 实用工具工作起来就好像在任何被执行的脚本结尾处都带有隐含的 GO,因而脚本中的所有语句都将执行。最后一个 GO 后的任何语句都不执行。
通过键入以命令终止符作为开始的行来结束命令。可以在命令终止符后输入一个整数来指定命令运行的次数。例如,若要执行此命令 100次,请键入:
Select x = 1
GO 100
执行结束时打印一次结果。osql 不接受每行字符数超过 1,000 的结果。长语句应当跨多个行书写。
通过在行首键入 ED,用户可以在当前查询缓冲区上调用编辑器。编辑器在 EDITOR 环境变量中定义。默认编辑器为"edit"。可以通过设置 EDITOR 环境变量来指定其它编辑器。例如,若要将默认编辑器指定为 Notepad,请在操作系统提示符处输入:
SET EDITOR=notepad
操作系统命令
通过用两个惊叹号 (!!) 开始一行,然后输入命令的方式,也可以执行操作系统命令。Windows NT 的命令撤回功能可用来撤回和修改 osql 语句。键入 RESET 可以清除现有的查询缓冲区。
在运行存储过程时,osql 在批处理中的每个结果集之间打印一个空行。此外,如果没有应用于已执行的语句,则"0 行受到影响"消息不会出现。
交互性使用 osql
若要交互性使用 osql,请在命令提示符处键入 osql 命令(以及任何选项)。
可以通过键入类似下行的命令,在包含由 osql 执行的查询的文件(例如 Stores.qry)中进行读取:
osql /U alma /P /i stores.qry
该文件必须包含命令终止符。
可以通过键入类似下行的命令,在包含查询的文件(例如 Titles.qry)中进行读取并将结果导向另一文件:
osql /U alma /P /i titles.qry /o titles.res
交互性使用 osql 时,为把操作系统文件读入到命令缓冲区,可使用:r file_name。不要在文件中包含命令终止符;在完成编辑后交互输入终止符。
插入注释
在 osql 提交给 SQL Server 的 Transact-SQL 语句中可以包含注释。允许使用两种注释风格类型:-- 和 /*...*/。
有关更多信息,请参见使用注释。
使用 EXIT 返回 osql 结果
可以使用 Select 语句的结果作为 osql 的返回值。第一个结果行的第一列转换为 4 字节的整数(长整型)。MS-DOS 将低字节传递给父进程或操作系统错误级别。Windows NT 则传递整个 4 字节整数。语法为:
EXIT(query)
例如:
EXIT(Select @@ROWCOUNT)
EXIT(Select 5)
也可以包含 EXIT 参数,使其作为批处理文件的一部分。例如:
osql /Q "EXIT(Select COUNT(*) FROM '%1')"
osql 实用工具将圆括号 ( ) 中输入的所有内容原样传递给服务器。如果存储系统过程选择了一个集合并返回一个值,则仅返回选择的内容。在圆括号之间无参数的 EXIT( ) 语句执行批处理中此语句前的所有内容,然后退出,而不返回值。
EXIT 格式有四种:
EXIT
不执行批处理就立即退出,无返回值。
EXIT( )
执行批处理后退出,无返回值。
EXIT(query)
执行包括查询的批处理,返回查询的结果后退出。
状态为 127 的 RAISERROR。
如果在 osql 脚本中使用 RAISERROR,并且出现状态 127,则 osql 会退出并将消息 ID 返回给客户程序。例如:
RAISERROR(50001, 10, 127)
该错误会导致 osql 脚本终止并将消息 ID 50001 返回给客户程序。
SQL Server 保留介于 -1 到 -99 之间的返回值;osql 定义下列值:
-100
选择返回值前遇到的错误。
-101
选择返回值时找不到行。
-102
选择返回值时发生转换错误。
显示 money 和 smallmoney 数据类型
osql 只用两位小数位数显示 money 和 smallmoney 数据类型,但 SQL Server 用四位小数位数在内部存储这两类数据的值。请看下例:
Select CAST(CAST(10.3496 AS money) AS decimal(6, 4))
此语句的结果为 10.3496,说明该值是原样按完整的小数位存储的。