公司要建立数据库服务器,想把excel,word资料转到sql?
这是存入数据库中word字段里,FileName 为要存入的WORD文件 ;读的话用PUT方法dim chucks as longdim chuck(1024) as bytedim varchuck as variantdim wordlen as longdim lastlen as longOpen FileName For Binary As #1wordlen=LOF(1)chucks=wordlen\1024lastlen=wordlen mod 1024for i=0 to chucksGet #1,,chuck()varchuck=chuckrs("word").AppendChunk varchunknextif lastlen >0 thenredim chuck(lastlen-1)Get #1,,chuck()varchuck=chuckrs("word").AppendChunk varchunkend if
sql2000数据导入mysql,怎么搞??
把sql2000的.sql脚本导出来(要包含你的数据),然后修改这个脚本的语法使其符合mysql,最后在mysql命令行下导入脚本就可以了。
复制数据库操作可以导出数据,但不是.sql文件。
这个问题本来就很难解决,因为每个数据库都有自己的管理系统。
参考:第一种是安装mysql ODBC,利用sql server的导出功能,选择mysql数据源,进行数据的直接导出,这种方法很简便,但是针对实际应用有很多弊端,最主要体现就是数据类型问题,首先,sql server数据库中的ntext,image等数据类型的数据无法直接写入到mysql数据库中,据说只要稍加改动就可以,可惜偶这只菜鸟还没想到如何改动,其次,因为偶在mysql中的数据库设计中将时间都设成int型(保存的是时间戳),所以在数据导过来后,就会出现冲突,再次,这种方法生成的mysql数据表的字段类型都不很合适,所以此种方法我觉得不能提倡。
第二种是利用php或asp脚本来实现数据的导入功能,这种方法需要编写程序,但灵活性大,操作也不是那么困难,一切都尽在你的掌握之中,现简单介绍一下该方法前提条件是你的mysql环境已经搭建好了,先建好目标数据库,再将所有的表结构用sql语句生成,现在万事具备,只缺数据了。
可以通过下面的php脚本来实现sql server中mydb数据库的user表中数据向mysql中mydb数据库导入$cnx = odbc_connect('web', 'admin', '123456');//'web'是sqlserver中mydb的数据源名,'admin'是访问mydb的用户名,'123456'是访问mydb的密码$cur= odbc_exec( $cnx, 'select * from user' );//打开sql server中mydb数据库的user表$num_row=0;$conn=mysql_pconnect("localhost","root","123456");// 连接mysql@mysql_select_db('mydb',$conn) ordie("无法连接到数据库,请与管理员联系!");//打开mysql的mydb数据库while( odbc_fetch_row( $cur )) //从sql server的mydb库中的user表逐条取出数据,如果对数据进行选择,可在前面的select语句中加上条件判断{$num_row++;$field1 = odbc_result( $cur, 1 ); // 这里的参数i(1,2,3..)指的是记录集中的第i个域,你可以有所选择地进行选取,fieldi得到对应域的值,然后你可以对fieldi进行操作$field2 = odbc_result( $cur, 2 );$field3 = odbc_result( $cur, 3 );$field4 = odbc_result( $cur, 4 );$field5 = odbc_result( $cur, 5 );$field6 = odbc_result( $cur, 6 );$field5 = timetoint($field5); //这里是对sql server中的datetime类型的字段进行相应转换处理,转换成我所需要的int型$querystring = "insert into user (id,name,username,password,recdate) values('$field1','$field2','$field3','$field4','$field5')" ; mysql_query($querystring,$conn);}function timetoint($str){ $arr1=split(" ",$str); $datestr=$arr1[0]; $timestr=$arr1[1]; $arr_date=split("-",$datestr); $arr_time=split(":",$timestr); $year=$arr_date[0]; $month=$arr_date[1]; $day=$arr_date[2]; $hour=$arr_time[0]; $minute=$arr_time[1]; $second=$arr_time[2]; $time_int=mktime($hour,$minute,$second,$month,$day,$year); return $time_int;}?>将该段脚本存成sql.php,在服务器上执行,就可以将服务器上sql server中mydb数据库的user表中的数据导入到mysql中mydb数据库的user表中去。
其他表的操作与此雷同,就不赘述了。
下面再介绍一下asp脚本实现sql server中mydb数据库的数据向mysql中mydb数据库导入以上两个是分别采用php脚本和asp脚本对user表的数据进行由sql server到mysql的导入其间我采用2种回避的方法来避免ntext,image类型数据的传递,一种是将ntext字段改为nvarchar(4000),因为实际情况,原始数据中该字段的数据长度都未超过4000个字,所以并没有出现数据截断,另一个手段是将image类型数据取出来写到文件中,以文件形式保存,将文件路径存到数据库中,方法见下:function makeattach(fileContentType,filevalue,i) select case fileContentType case "application/msword" ext="doc" case "application/vnd.ms-excel" ext="exl" case "application/vnd.ms-powerpoint" ext="pps" case ...
sql server中创建表时各个数据类型时什么意思??
(1)整数型 整数包括bigint、int、smallint和tinyint,从标识符的含义就可以看出,它们的表示数范围逐渐缩小。
lbigint:大整数,数范围为-263(-9223372036854775808)~263-1(9223372036854775807),其精度为19,小数位数为0,长度为8字节。
lint:整数,数范围为-231(-2,147,483,648)~231-1(2,147,483,647),其精度为10,小数位数为0,长度为4字节。
lsmallint:短整数,数范围为-215(-32768)~215-1(32767),其精度为5,小数位数为0,长度为2字节。
ltinyint:微短整数,数范围为0~255,长度为1字节,其精度为3,小数位数为0,长度为1字节。
(2)精确整数型 精确整数型数据由整数部分和小数部分构成,其所有的数字都是有效位,能够以完整的精度存储十进制数。
精确整数型包括decimal和numeric两类。
从功能上说两者完全等价,两者的唯一区别在于decimal不能用于带有identity关键字的列。
声明精确整数型数据的格式是numeric|decimal(p[,s]),其中p为精度,s为小数位数,s的缺省值为0。
例如指定某列为精确整数型,精度为6,小数位数为3,即decimal(6,3),那么若向某记录的该列赋值56.342689时,该列实际存储的是56.3427。
decimal和numeric可存储从-1038+1到1038–1的固定精度和小数位的数字数据,它们的存储长度随精度变化而变化,最少为5字节,最多为17字节。
l精度为1~9时,存储字节长度为5;l精度为10~19时,存储字节长度为9;l精度为20~28时,存储字节长度为13;l精度为29~38时,存储字节长度为17。
例如若有声明numeric(8,3),则存储该类型数据需5字节,而若有声明numeric(22,5),则存储该类型数据需13字节。
注意:声明精确整数型数据时,其小数位数必须小于精度;在给精确整数型数据赋值时,必须使所赋数据的整数部分位数不大于列的整数部分的长度。
(3)浮点型 浮点型也称近似数值型。
顾名思义,这种类型不能提供精确表示数据的精度,使用这种类型来存储某些数值时,有可能会损失一些精度,所以它可用于处理取值范围非常大且对精确度要求不是十分高的数值量,如一些统计量。
有两种近似数值数据类型:float[(n)]和real,两者通常都使用科学计数法表示数据,即形为:尾数E阶数,如5.6432E20,-2.98E10,1.287659E-9等。
lreal:使用4字节存储数据,表数范围为-3.40E+38到3.40E+38,数据精度为7位有效数字。
lfloat:定义中的n取值范围是1~53,用于指示其精度和存储大小。
当n在1~24之间时,实际上是定义了一个real型数据,存储长度为4字节,精度为7位有效数字;当n在25~53之间时,存储长度为8字节,精度为15位有效数字。
当缺省n时,代表n在25~53之间。
float型数据的数范围为-1.79E+308到1.79E+308。
(4)货币型 SQLServer提供了两个专门用于处理货币的数据类型:money和smallmoney,它们用十进制数表示货币值。
lmoney:数据的数范围为-263(-922337203685477.5808)~263-1(922337203685477.5807),其精度为19,小数位数为4,长度为8字节。
money的数的范围与bigint相同,不同的只是money型有4位小数,实际上,money就是按照整数进行运算的,只是将小数点固定在末4位。
lsmallmoney:数范围为–231(-2,147,48.3648)~231-1(2,147,48.3647),其精度为10,小数位数为4,长度为4字节。
可见smallmoney与int的关系就如同money与bigint的关系。
当向表中插入money或smallmoney类型的值时,必须在数据前面加上货币表示符号($),并且数据中间不能有逗号(,);若货币值为负数,需要在符号$的后面加上负号(-)。
例如:$15000.32,$680,$-20000.9088都是正确的货币数据表示形式。
(5)位型 SQLServer中的位(bit)型数据相当于其他语言中的逻辑型数据,它只存储0和1,长度为一个字节。
但要注意,SQLServer对表中bit类型列的存储作了优化:如果一个表中有不多于8个的bit列,这些列将作为一个字节存储,如果表中有9到16个bit列,这些列将作为两个字节存储,更多列的情况依此类推。
当为bit类型数据赋0时,其值为0,而赋非0(如100)时,其值为1。
若表中某列为bit类型数据,那么该列不允许为空值(有关空值概念本节稍后即做介绍),并且不允许对其建立索引。
(6)字符型 字符型数据用于存储字符串,字符串中可包括字母、数字和其它特殊符号(如#、@、&等等)。
在输入字符串时,需将串中的符号用单引号或双引号括起来,如'abc'、”AbcSQLServer字符型包括两类:固定长度(char)或可变长度(varchar)字符数据类型。
lchar[(n)] 定长字符数据类型,其中n定义字符型数据的长度,n在1到8000之间,缺省为1。
当表中的列定义为char(n)类型时,若实际要存储的串长度不足n时,则在串的尾部添加空格以达到长度n,所以char(n)的长度为n。
例如某列的数据类型为char(20),而输入的字符串为”ahjm1922”,则存储的是字符ahjm1922和12个空格。
若输入的字符个数超出了n,则超出的部分被截断。
lvarchar[(n)] 变长字符数据类型,其中n的规定与定长字符型char中n完全相同,但这里n表示的是字符串可达到的最大长度。
varchar(n)的长度为输入的字符串的实际字符个数,而不一定是n。
例如,表中某列的...
Microsoft SQL Server 2014 安装程序出现错误,无法安装
web还是form?存数据库的话用image类型,是以二进制存的,最大可存2GFileStream myfilestream = new FileStream("文件地址",FileMode.Open,FileAccess.Read);int len1 = Convert.ToInt32(myfilestream.Length);byte[] data = new byte[len1];myfilestream.Read(data, 0, len1);myfilestream.Close();this.sqlOpen();cmd = "INSERT INTO FileTab (FileDoc) VALUES(@img)";SqlCommand sqlcmd =new SqlCommand(cmd,conn);SqlParameter pada = new SqlParameter("@img",SqlDbType.Image);pada.Value=data;sqlcmd.Parameters.Add(pada);sqlcmd.ExecuteNonQuery();
XP安装Microsoft SQL出错
1、在安装准备工作设置时,出现提示对话框大概意思是:有相关程序已挂起,或机器上有你已经安装的相关信息没有清除等。
如果出现这种相似问题,可以通过修改注册表来进行修复。
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager下的FileRenameOperations,把FileRenameOperations删掉 2、SQL程序在安装到最后阶段在配置系统时出错,解决方法如下:把SQL安装文件夹改成英文名称,把它放到硬盘的根目录下。
3、.....还没有想到,想到了再补充吧,嘿嘿........SQL2000企业版本适用于WIN 2000系统,2003系统和XP一般装不了需要选用个人版,当然如果你在不清楚的前提下辛辛苦苦下载了企业版本却不能安装,是不是很失望呢?这里介绍一个XP下安装装SQL2000企业版本方法以供参考~ 办法如下: 一.在SQL服务器的安装盘中找到MSDE这个目录,并且点击setup.exe安装它,过程简单直接下一步就OK了。
二. 重启系统WINDOWSXP,这下就可以看到SQL服务的图标出现了。
三. 再拿出SQL服务器版的安装光盘,直接安装客户端工具(这个不要多说吧?最简单的方法就是直接点击光盘根目录下的autorun.exe) 根据提示安装,自检过程中知道系统不是SERVER版,会提示只安装客户端工具。
(哈哈,服务端我已有了) 牋 四. 打开企业管理器,试用SA用户连一下看看,是不是发现SA用户登陆失败?因为你还没有与信任SQL SERVER连接相关联。
还好这个只要对系统注册表稍加修改就可以啦: 牋在运行中输入regedit打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER],这个项里面有一个键值LoginMode,默认下,值是1,现在将值改为2,重启电脑。
五. 再打开企业管理,再连接试试,是不是OK了?
delphi 中如何获取局域网内有效的SQL服务器名称
给你一段代码例子把,很简单 function GetSQLServerList(Strings:TStrings):boolean; function TMain.GetSQLServerList(Strings: TStrings): boolean; var // 取得局域网内有效的SQL服务器名称 SQLServer: Variant; ServerList: Variant; i,sercount:integer; begin Strings.Clear; result:=false; try SQLServer := CreateOleObject('SQLDMO.Application'); ServerList := SQLServer.ListAvailableSQLServers; sercount:= ServerList.Count; if sercount>0 then Result:=True; for i:=1 to sercount do if ServerList.item(i)<>''then Strings.Add(ServerList.item(i)); SQLServer := NULL; serverList := NULL; except result:=false; end; end; 说明:SQLDMO 是一人dcom服务,只有在安装SQL的机子里才有,就像word一样的, SQLDMO这方面的资料很少,它能完成所有SQLSERVR的所有功能 在程序单元部分,必须加入ComCtrls,comobj 单元才可访问。
//初始化列表框 if GetSQLServerList(ComboBox1.Items) then begin ComboBox1.ItemIndex:=0; end; function GetSQLServerList(Strings:TStrings):boolean; function TMain.GetSQLServerList(Strings: TStrings): boolean; var // 取得局域网内有效的SQL服务器名称 SQLServer: Variant; ServerList: Variant; i,sercount:integer; begin Strings.Clear; result:=false; try SQLServer := CreateOleObject('SQLDMO.Application'); ServerList := SQLServer.ListAvailableSQLServers; sercount:= ServerList.Count; if sercount>0 then Result:=True; for i:=1 to sercount do if ServerList.item(i)<>''then Strings.Add(ServerList.item(i)); SQLServer := NULL; serverList := NULL; except result:=false; end; end; 说明:SQLDMO 是一人dcom服务,只有在安装SQL的机子里才有,就像word一样的, SQLDMO这方面的资料很少,它能完成所有SQLSERVR的所有功能 在程序单元部分,必须加入ComCtrls,comobj 单元才可访问。
//初始化列表框 if GetSQLServerList(ComboBox1.Items) then begin ComboBox1.ItemIndex:=0; end;
转载请注明出处51数据库 » sql to word