`
zhujs
  • 浏览: 102245 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

SqlServer访问MySQL总结

    博客分类:
  • java
阅读更多
环境:Windows XP + SqlServer2000 + MySQL 5.1.30
1. 新建ODBC数据源
http://dev.mysql.com/downloads/connector/odbc/3.51.html下载MySQL ODBC 3.51 Driver(我安装ODBC 5.1不能添加数据源,一到点击测试或者选择database的时候就死机),原因未知
2. 我的电脑--控制面板—管理工具—数据源-系统DSN(或者用户DSN,最好设置为系统DSN)—添加—选择Mysql ODBC 3.5.1 Driver(Data source Name:填以后要使用数据源名称,有效名就行,description随便填,server:localhost(或者ip地址) User,password,database自己选)—确定
3. SqlServer—企业管理器—安全性---链接服务器—新建…………(或者直接使用sql语句创建)
EXEC sp_addlinkedserver  @server = 'MySQLDB(新建链接服务器名称)', @srvproduct='MySQL', @provider = 'MSDASQL', @datasrc = 'myDSN(数据源名称)' 
GO 
EXEC sp_addlinkedsrvlogin  @rmtsrvname='MySQLDB(同上)',@useself='false',@locallogin='sa',@rmtuser='mysql的用户名',@rmtpassword='mysql的密码'

4.(转)MSDTC(分布式交易协调器),协调跨多个数据库、消息队列、文件系统等资源管理器的事务。该服务的进程名为Msdtc.exe,该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server。该服务用于管理多个服务器 .
位置:控制面板--管理工具--服务--Distributed Transaction Coordinator
依存关系:Remote Procedure Call(RPC)和Security Accounts Manager
建议:一般家用计算机涉及不到,除非你启用Message Queuing服务,可以停止。
解决办法: 1. 在windows控制面版-->管理工具-->服务-->Distributed Transaction Coordinator-->属性-->启动
        2.在CMD下运行"net start msdtc"开启服务后正常。
注:如果在第1步Distributed Transaction Coordinator 无法启动,则是因为丢失了日志文件,重新创建日志文件,再启动就行了。重新创建 MSDTC 日志,并重新启动服务的步骤如下:
(1) 单击"开始",单击"运行",输入 cmd 后按"确定"。
(2) 输入:msdtc -resetlog (注意运行此命令时,不要执行挂起的事务)
(3) 最后输入:net start msdtc 回车,搞定!
5. 启动服务Remote Procedure Call (RPC)可以访问了,例子:
SELECT factLocation FROM OPENQUERY (MySQLDB ,'select ov.space_name from objtag_views ov' ) 

6. OPENQUERY (MySQLDB ,'select ov.space_name from objtag_views ov' )直接当做表来使用, (MySQLDB :ODBC名称,sql语句跟直接在MySQL中写是一样的)例:
select id,number,asset_name,fact_location,handle_on,storage_location from objtag ob  union all 
select ac.id,ac.number,ac.name as asset_name,ac.storage_location,ac.created_on as handle_on,op.fact_location 
from assets_cards ac,
OPENQUERY (MySQLDB ,'select ov.tag_id as id ,ov.space_name as fact_location from objtag_views ov' )  op
where op.id=ac.id

7. 查询结果出现中文乱码,首先将MySQL数据库表设置为gb2312,然后设置ODBC连接字符集为gb2312如图:a.



b.我的电脑—控制面板---管理工具—数据源(ODBC)-




8.报错
org.hibernate.util.JDBCExceptionReporter - SQL Error: 7391, SQLState: S0001
2009-10-27 17:11:17,781 [http-2008-6] ERROR org.hibernate.util.JDBCExceptionReporter - 该操作未能执行,因为 OLE DB 提供程序 'MSDASQL' 无法启动分布式事务。
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor - could not execute query),


解决方法:不知道怎么解决的了,必须启动服务Distributed Transaction Coordinator,可能是sql语句正确就不会报错

9.结束




  • 大小: 29.7 KB
  • 大小: 15.3 KB
0
0
分享到:
评论

相关推荐

    mysql转化成sql server sql转化成mysql工具

    总结,MySQL到SQL Server或反之的转换涉及到数据库对象的结构和数据的迁移,这可以通过专门的工具实现,如`mss2sql.rar`和`mysqltomssql.zip`。转换过程中需要注意语法差异、数据一致性、安全性和测试验证。理解这个...

    sqlserver与mysql数据库同步

    总结来说,SQL Server与MySQL数据库同步是一个复杂的过程,涉及多个步骤和技术选择。根据项目需求和资源,可以选择最合适的同步策略和工具,以实现高效、安全的数据同步。在实施过程中,务必对可能遇到的问题进行...

    连接mysql sqlserver的两个数据库

    首先,我们来看标题提到的“连接mysql sqlserver的两个数据库”。这通常涉及到数据库之间的数据迁移、同步或者跨平台查询。为了实现这一目标,我们需要借助特定的驱动程序和工具。 在提供的压缩包文件中,有两个...

    java连接sqlserver,mysql

    "jdbc:sqlserver://localhost:1433;databaseName=bbs", "username", "password"); ``` 3. **执行SQL查询**: - 类似于MySQL的方式,使用`Statement`或`PreparedStatement`执行SQL语句。 4. **关闭资源**: - ...

    SqlServer转mysql

    ### SqlServer转MySQL:导入表结构与数据 在IT领域,数据库迁移是一项常见的任务,特别是在不同的数据库管理系统(DBMS)之间进行迁移时更是如此。本文将详细介绍如何将Microsoft SqlServer中的数据迁移到MySQL...

    SQLserver2MySQL驱动包.zip

    6. **从SQL Server访问MySQL**: 现在,SQL Server可以通过ODBC数据源访问MySQL数据库了。你可以使用T-SQL查询或其他支持ODBC的应用程序来执行跨数据库的查询和操作。 总结来说,这个压缩包提供了在Windows Server ...

    JDBC连接sqlserver与mysql

    总结来说,JDBC为Java开发者提供了统一的接口来访问各种数据库,无论是SQL Server还是MySQL,只要按照特定的格式配置连接字符串,就可以通过JDBC实现数据库的连接和数据操作。理解和熟练掌握JDBC技术对于Java开发...

    sqlserver,mysql,oracle数据库连接驱动

    总结来说,SQL Server、MySQL和Oracle的数据库连接驱动为开发者提供了便利,使他们能够在各种编程环境中轻松地访问和操作这三大数据库系统。了解和选择合适的驱动对于开发高效、稳定的数据应用至关重要。

    mysql转换为sqlserver

    总结来说,从MySQL转换到SQL Server是一个复杂的过程,涉及多个层面,包括数据库结构、数据、存储过程、安全性和性能等方面。每个环节都需要细致的规划和严谨的操作,以确保迁移的成功。在实际操作中,可以借助各种...

    net访问mysql、postgre和sqlserver

    总结来说,.NET框架通过提供ADO.NET接口,使得开发者可以方便地与MySQL、PostgreSQL和SQL Server等不同数据库系统进行交互。每个数据库系统都有对应的.NET驱动程序,如MySQL Connector/NET、Npgsql和System.Data....

    mysql数据库转换成SQLserver工具包

    MySQL到SQL Server转换工具包是针对数据库管理员和开发人员的一款实用工具,它的主要功能是将MySQL数据库结构和数据无缝地迁移到SQL Server环境中。这样的转换对于那些需要在不同数据库系统间进行迁移或整合项目的...

    Sqlserver数据库转成mysql数据库.doc

    1. SQL Server to MySQL 数据库迁移: - SQL Server 数据库转换到 MySQL 数据库是一个常见的需求,这通常涉及到数据迁移和结构转换。 - 在此过程中,首先需要确保目标系统(MySQL)与源系统(SQL Server)的环境...

    sqlserver2000,mysql数据库驱动包

    标题中的"sqlserver2000,mysql数据库驱动包"提到了两个重要的数据库管理系统:SQL Server 2000和MySQL,以及它们的驱动包。这些驱动包是连接应用程序与数据库之间的桥梁,允许应用程序通过标准接口如ODBC(Open ...

    oracle+sqlserver+mysql jar包

    总结一下,"oracle+sqlserver+mysql jar包"是指针对Oracle、SQL Server和MySQL数据库的Java JDBC驱动程序。这三个JAR包分别支持Java应用程序与这三种数据库系统的通信,是Java开发数据库应用不可或缺的部分。使用...

    mysql_wp_migration_sqlserver.pdf

    - 本文是MySQL®白皮书,讨论了从Microsoft SQL Server迁移到MySQL的商业和技术意义。 - MySQL是Linux, Apache, MySQL, PHP/Perl/Python(LAMP)栈的一部分,而Microsoft Windows是MySQL用户中最受欢迎的开发平台...

    Mysql转Sqlserver.rar

    总结,"Mysql转Sqlserver.rar"不仅提供了数据库迁移的技术指导,还包含了一套实用且美观的前端模板,对于那些寻求从MySQL过渡到SQL Server的开发者,以及希望快速搭建后台管理系统的团队来说,都是宝贵的资源。...

    Mysql与SQL Server区别

    ### MySQL与SQL Server的主要区别 在数据库领域,MySQL与SQL Server是两种广泛使用的数据库管理系统(DBMS)。这两种系统各自拥有独特的优势与特性,适合不同规模的企业和个人用户。下面将详细介绍这两种数据库之间...

    sqlserver2000+sqlserver2005+mysql+sqlite的jdbc驱动

    标题中的"sqlserver2000+sqlserver2005+mysql+sqlite的jdbc驱动"涉及到了四个数据库管理系统(DBMS)与Java应用程序之间的连接技术。这些DBMS分别是Microsoft SQL Server 2000和2005,MySQL以及SQLite。Java ...

    jdbc jar包(oracle+SQLServer+mySql)+连接各种数据库的方法总结。

    "jdbc:sqlserver://hostname:port;databaseName=dbname", "username", "password"); ``` 而对于MySQL,常用的驱动是mysql-connector-java.jar,连接代码如下: ```java Class.forName("com.mysql.cj.jdbc.Driver"...

Global site tag (gtag.js) - Google Analytics