因为工作需要,数据库使用的MS SQL Server2005,而默认的排序规则是SQL_Latin1_General_CP1_CI_AS。创建了一个表,因为需要存储中文信息,Address字段的类型是nvarchar(255)。
此时使用php来连接sql server,页面的编码和文件的编码都是UTF-8,查询此Address字段,显示在页面上是???之类的。怎么解决?
使用
iconv('iso-8859-1','utf-8',$address);
是没有什么用处的。
此时如果SQL一语句中指定字符排序规则为中文再进行转换输出的才是正常的:
$query = 'select Address collate Chinese_PRC_CI_AS from A';
$rs = mssql_query($query,$conn) or die ('Query failed: '.$query);
if ($row = mssql_fetch_array($rs))
{
$address = $row[0];
$address = iconv('GBK','UTF-8',$address);
echo $address;
}
还有其它方法吗? ......
因为工作需要,数据库使用的MS SQL Server2005,而默认的排序规则是SQL_Latin1_General_CP1_CI_AS。创建了一个表,因为需要存储中文信息,Address字段的类型是nvarchar(255)。
此时使用php来连接sql server,页面的编码和文件的编码都是UTF-8,查询此Address字段,显示在页面上是???之类的。怎么解决?
使用
iconv('iso-8859-1','utf-8',$address);
是没有什么用处的。
此时如果SQL一语句中指定字符排序规则为中文再进行转换输出的才是正常的:
$query = 'select Address collate Chinese_PRC_CI_AS from A';
$rs = mssql_query($query,$conn) or die ('Query failed: '.$query);
if ($row = mssql_fetch_array($rs))
{
$address = $row[0];
$address = iconv('GBK','UTF-8',$address);
echo $address;
}
还有其它方法吗? ......
下午需要配置本机安装的mssql数据库能够在远程访问,在网上搜索的方法:http://weste.net/2009/5-20/21244518910.html
按照这个步骤一步一步配置下去却发现仍然不能访问。如果配置protocol的时候listen all 设置为no,重启mssql服务系统会提示mssql服务自动停止;如果设置为yes可以启动却在netstat列表中无法检查到对1433端口的监听。试着修改了N多配置,终于发现将ip address的ipall的tcp port设置为1433的时候,telnet 本机的1433端口成功。 ......
用户权限管理
一、服务器登录帐号和用户帐号管理
1.SQL Server服务器登录管理
不管使用哪种认证模式,用户都必须先具备有效的用户登录帐号。SQL Server有三个默认的用户登录帐号:即sa、Builtin\administrators和guest。sa是系统管理员(system administrator)的简称,是一个特殊的用户,在SQL Server系统和所有数据库中拥有所有的权限。SQL Server还为每一个Windows NT系统管理员提供了一个默认的用户帐号Builtin\administrators。这个帐号在系统和所有数据库中也拥有所有的权限。而guest帐号为默认访问系统用户帐号。利用企业管理器可以创建、管理SQL Server登录帐号。其具体步骤如下:
(1)打开企业器,单击服务器的“+”,展开安全性文件夹;
(2)右击登录图标,选择“新建登录”;
(3)在“名称”文本框中输入登录名,选择新建的用户帐号的认证模式;并选择默认的数据库和语言。
(4)选择“服务器角色”,在列出的固定服务器角色的左端复选框中选择相应的服务器角色;
(5)选择“数据库访问”,单击数据库左边的复选框,表示该用户可以访问相应的数据库以及该帐号在数据库中的用户名。下部的列表框列出了相应的数据 ......
今天在网上找了许久关于sqlserver中存储image类型和读取image的方法,可是都是那么一点,故在此罗列一下,希望可以帮助大家。
首先是关于dataGridView的绑定。代码见下
private void button_show_Click(object sender, EventArgs e)
{
string sqlText = "server=localhost;initial catalog=Test; integrated security=true";
string sqlstr="select * from tast";
SqlConnection conn=new SqlConnection (sqlText);
conn.Open();
SqlCommand comm = new SqlCommand(sqlstr, conn);
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = comm;
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
conn.Close();
}
下面是插入图像到数据库,代码如下:
private void button_connect_Click(object sender, EventArgs e)
{
string sqlText = "server=localhost;initial catalog=Test; integrated security=true";
......
今天在网上找了许久关于sqlserver中存储image类型和读取image的方法,可是都是那么一点,故在此罗列一下,希望可以帮助大家。
首先是关于dataGridView的绑定。代码见下
private void button_show_Click(object sender, EventArgs e)
{
string sqlText = "server=localhost;initial catalog=Test; integrated security=true";
string sqlstr="select * from tast";
SqlConnection conn=new SqlConnection (sqlText);
conn.Open();
SqlCommand comm = new SqlCommand(sqlstr, conn);
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = comm;
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
conn.Close();
}
下面是插入图像到数据库,代码如下:
private void button_connect_Click(object sender, EventArgs e)
{
string sqlText = "server=localhost;initial catalog=Test; integrated security=true";
......
select a.UserName 用户名,b.LoginName 号码,c.MenuTitle 标题,max(a.AccessTime)访问时间 from JfAccessLog a,OaUser b,JfMenu c where CONVERT(char,a.AccessTime,112)=CONVERT(char,GETDATE(),112) and a.UserId=b.UserId and a.MenuId=c.MenuId and a.MenuId=@menu group by a.UserName,b.LoginName,c.MenuTitle;--yyyymmdd ......
在平时的工作过程中,作为DBA角色管理数据库,头脑中的印象往往是数据库实例名称,而不会去关心Server的IP,而作为Developer的角色,他们往往想知道知道Server Ip和端口号。所以,DBA会经常被问及到:XXX实例的IP和端口号是什么?
这个问题,当然我们可以Login到OS查看IP、使用配制管理工具获取到端口号。但是,这个方法非常的麻烦,达不到DBA高效快速反应的要求。
那么,这篇文章就是为了解决效率问题,使用下面的SQL Script可以轻松的获取到SQLServer Ip和端口号。
USE master
GO
DECLARE @tcpEndport VARCHAR(20)
,@regeditKey VARCHAR(100)
/**Enable xp_cmdshell
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE WITH OVERRIDE
**/
--SQLServer 2000
IF @@VERSION LIKE 'Microsoft SQL Server 2000%'--SQLServer 2000
BEGIN
SET @regeditKey= N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tc ......
在平时的工作过程中,作为DBA角色管理数据库,头脑中的印象往往是数据库实例名称,而不会去关心Server的IP,而作为Developer的角色,他们往往想知道知道Server Ip和端口号。所以,DBA会经常被问及到:XXX实例的IP和端口号是什么?
这个问题,当然我们可以Login到OS查看IP、使用配制管理工具获取到端口号。但是,这个方法非常的麻烦,达不到DBA高效快速反应的要求。
那么,这篇文章就是为了解决效率问题,使用下面的SQL Script可以轻松的获取到SQLServer Ip和端口号。
USE master
GO
DECLARE @tcpEndport VARCHAR(20)
,@regeditKey VARCHAR(100)
/**Enable xp_cmdshell
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE WITH OVERRIDE
**/
--SQLServer 2000
IF @@VERSION LIKE 'Microsoft SQL Server 2000%'--SQLServer 2000
BEGIN
SET @regeditKey= N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tc ......