GVKun编程网logo

MSSQL Server的连接问题分析和解决(2)(sql server 连接mysql)

4

此处将为大家介绍关于MSSQLServer的连接问题分析和解决的详细内容,并且为您解答有关2的相关问题,此外,我们还将为您介绍关于asp.net-mvc-3–使用存储过程(MSSQL)时Dapper的

此处将为大家介绍关于MSSQL Server的连接问题分析和解决的详细内容,并且为您解答有关2的相关问题,此外,我们还将为您介绍关于asp.net-mvc-3 – 使用存储过程(MSSQL)时Dapper的缓存解决方案、BI学习走过的路---MSSQL 2008 安装过程、C# 数据类型映射 (SQLite,MySQL,MSSQL,Oracle)、Connect to MSSQL Database using Flask-SQLAlchemy的有用信息。

本文目录一览:

MSSQL Server的连接问题分析和解决(2)(sql server 连接mysql)

MSSQL Server的连接问题分析和解决(2)(sql server 连接mysql)

数据库服务器连接错误涉及配置方面的分析和处理,请移步: MSSQL Server 的连接问题分析和解决(1 ) 再来看一个连接错误,如下图1所示: 图中是从本地Serv连接异地Serv做DTS包迁移时的错误提示,本地Serv是SQL2008,而异地Serv是SQL2000。 一、从图中获得的

 

  数据库服务器连接错误涉及配置方面的分析和处理,请移步: MSSQL Server 的连接问题分析和解决(1

 

 

   再来看一个连接错误,如下图1所示:

MSSQL Server的连接问题分析和解决(2)

 

    图中是从本地Serv连接异地Serv做DTS包迁移时的错误提示,本地Serv是SQL2008,而异地Serv是SQL2000。

一、从图中获得的信息:

图中的提示我们以下信息:

    1、网络连接错误。

        比如: 在与 SQL Server 建立连接时出现与网络相关的错误

    2、实例名称错误。

        比如: 在与 SQL Server 建立连接时出现特定于实例的错误

    3、实例连接错误。

     比如: 未找到或无法访问服务器。

同时图中的提示告诉我们建议处理方式:请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接

  

二、实际情况:SQL2000已安装SP4补丁,防火墙等基本的设置都正确。在上述给与的信息中肯定有一个是直接或间接导致错误的信息,这里我们看2 实例名称错误(因为网络 连接和访问都没有问题,之前都可以正常访问)

    1、错误提示前输入服务器的连接为USER214,接口输入SA帐号和密码。

 

    2、因为很久未连接SQL2000Serv,所以忘记了实例名和密码。记得异地的SQL2000不是默认实例,所以当默认实例启动时,做如下查询可以获得命名实例名,或者mstsc连接异地Serv查看服务。

    如果异地Serv的默认实例也没有启动怎么办?

    只能mstsc切到异地Serv并在CMD中输入net start mssqlserver,启动默认实例。比如:

Microsoft Windows [版本 5.2.3790]


C:/Documents and Settings/Administrator>net start mssqlserver
SQL Server (MSSQLSERVER) 服务正在启动 ...
SQL Server (MSSQLSERVER) 服务已经启动成功。

启动异地Serv的SQL服务后,执行T-SQL:

 

-->1 启用 xp_cmdshell

EXEC sp_configure ''show advanced options'' , 1

GO

RECONFIGURE

GO

-- 启用 xp_cmdshell

EXEC sp_configure ''xp_cmdshell'' , 1

GO

RECONFIGURE

GO

 

-->2 查询 OS 中与数据库相关的服务名

declare @a table  ( a varchar ( 200))

insert into @a

exec xp_cmdshell ''sc query state= all''

select CASE WHEN a LIKE ''%$%''

       THEN '' 命令实例 '' + REPLACE ( a , ''SERVICE_NAME: '' , '''' )

           ELSE '' 默认实例 '' + REPLACE ( a , ''SERVICE_NAME: '' , '''' ) END

 as 服务名

from @a

where a like ''SERVICE_NAME: MSSQL%'' and LEN ( a ) 28

   

    --result:

服务名

命令实例 MSSQL$CL05

命令实例 MSSQL$CL2K

默认实例 MSSQLSERVER

 

    3、 从返回的结果看到,实际上命名时,异地Serv的SQL2000的实例名是CL2K,所以我们再来看如下图2所示

MSSQL Server的连接问题分析和解决(2)

 

    这仍然是DTS包迁移的数据库连接界面,正确的服务器名称是10.0.0.214/cl2k,1444。

    为何是它呢?

    USER214 /cl2k,1444和10.0.0.214 /cl2k,1444的区别是前者通过机器名解析,后者通过IP连接。因为数据库的连接方式都启开TCP/IP。

    10.0.0.214 / cl2k ,1444中表示命令实例为cl2k,而1444是cl2k实例的SQL服务端口,因为异地Serv上配置了SQL2008、SQL2005和SQL2000同时开启TCP/IP连接方式,所以端口做了修改。

 

-0-总结:该问题从过程看说的有点麻烦,从结果看很简单就是实例名输入错误导致。除了细心就是再细心一点。

 

 

Posted by: select left(''claro'',2) @10:35

 

lable: SQL

asp.net-mvc-3 – 使用存储过程(MSSQL)时Dapper的缓存解决方案

asp.net-mvc-3 – 使用存储过程(MSSQL)时Dapper的缓存解决方案

我正在使用Dapper主要用于调用数据库MSsql 2008 R2中的存储过程.我没有映射到数据库表的类.大多数数据以IEnumerable< Dynamic>结尾.并传输到屏幕上的网格.

我可以使用现成的数据缓冲解决方案吗? (我需要在MVC上使用它).

数据库中的数据本质上是静态的和动态的.我使用存储库模型来访问数据.

解决方法

Dapper不包含任何内置数据缓存功能(虽然它在内部为元编程层使用了广泛的缓存):它本身就是针对ADO.NET的东西 – 但是,你几乎可以使用任何现成的缓存组件,包括HTTP运行时缓存(HttpContext.Current.Cache)或更新的ObjectCache等实现.因为这些只是对象,它应该工作正常.

如果您使用分布式缓存(可能通过app-fabric,redis或memcached),那么您需要将数据序列化.在那种情况下,我强烈建议使用正式的POCO类型进行绑定,而不是动态API.例如,我们在内部使用dapper来填充用protobuf-net标记进行注释以进行序列化的POCO,并通过BookSleeve存储到redis.这听起来比实际更复杂.

BI学习走过的路---MSSQL 2008 安装过程

BI学习走过的路---MSSQL 2008 安装过程

学习BI,开始的路程十分坎坷啊。

我学习的是针对MS sql Server的BI开发

刚熟悉了各种术语之后,开始安装数据库、sql服务、SSAS、SSIS

结果悲催的是,从官网下载了Express版本的2008数据库,怎么找都找不到SSAS、SSIS等服务。

为此足足失眠了3天左右的时间……

不过,功夫不负有心人,终于找到了一个可以十分简单的下载微软软件的网站,再次分享给各位朋友。

http://msdn.itellyou.cn/

同时,在此处分享一个sql Server 2008的安装图解

http://www.cnblogs.com/downmoon/archive/2010/05/18/1738479.html

国内关于BI的学习,在网络上资料比较有限,而且杂乱,本人在学习过程中会将一些学习心得在此与大家分享下,希望能给大家带来帮助。

C# 数据类型映射 (SQLite,MySQL,MSSQL,Oracle)

C# 数据类型映射 (SQLite,MySQL,MSSQL,Oracle)

 MSSQL

SQLITE

一、C# vs SQLite:

C# SQLite 字段名 类型 库类型 GetFieldType(#) 转换 备注 F_BOOL bool BIT NOT NULL Boolean     F_BOOL_NULL bool? BIT Boolean     F_SBYTE sbyte INT8 NOT NULL SByte sbyte_   F_SBYTE_NULL sbyte? INT8 SByte sbyte_   F_BYTE byte UINT8 NOT NULL Byte     F_BYTE_NULL byte? UINT8 Byte     F_SHORT short INT16 NOT NULL Int16     F_SHORT_NULL short? INT16 Int16     F_USHORT ushort UINT16 NOT NULL UInt16 ushort_   F_USHORT_NULL ushort? UINT16 UInt16 ushort_   F_INT int INT32 NOT NULL Int32     F_INT_NULL int? INT32 Int32     F_UINT uint UINT32 NOT NULL UInt32 uint_   F_UINT_NULL uint? UINT32 UInt32 uint_   F_LONG long INT64 NOT NULL Int64     F_LONG_NULL long? INT64 Int64     F_ULONG ulong UINT64 NOT NULL UInt64 ulong_   F_ULONG_NULL ulong? UINT64 UInt64 ulong_   F_FLOAT float FLOAT NOT NULL Double   不转兼容 F_FLOAT_NULL float? FLOAT Double   不转兼容 F_DOUBLE double DOUBLE NOT NULL Double     F_DOUBLE_NULL double? DOUBLE Double     F_DECIMAL decimal DECIMAL NOT NULL Decimal   存取不一:<F_DECIMAL>: [-79228162514264300000000000000] != [-79228162514264337593543950335] F_DECIMAL_NULL decimal? DECIMAL Decimal   存取不一:<F_DECIMAL>: [-79228162514264300000000000000] != [-79228162514264337593543950335] F_CHAR char TEXT NOT NULL String     F_CHAR_NULL char? TEXT String     F_STRING string TEXT NOT NULL String     F_STRING_NULL string TEXT String     F_DATETIME DateTime TEXT NOT NULL String     F_DATETIME_NULL DateTime? TEXT String                

二、 C# vs MySQL:

C# MySQL 字段名 类型 库类型 GetFieldType(#) 转换 备注 F_BOOL bool BOOL NOT NULL Boolean     F_BOOL_NULL bool? BOOL NULL Boolean     F_SBYTE sbyte TINYINT NOT NULL SByte sbyte_   F_SBYTE_NULL sbyte? TINYINT NULL SByte sbyte_   F_BYTE byte TINYINT UNSIGNED NOT NULL Byte     F_BYTE_NULL byte? TINYINT UNSIGNED NULL Byte     F_SHORT short SMALLINT NOT NULL Int16     F_SHORT_NULL short? SMALLINT NULL Int16     F_USHORT ushort SMALLINT UNSIGNED NOT NULL UInt16 ushort_   F_USHORT_NULL ushort? SMALLINT UNSIGNED NULL UInt16 ushort_   F_INT int INT NOT NULL Int32     F_INT_NULL int? INT NULL Int32     F_UINT uint INT UNSIGNED NOT NULL UInt32 uint_   F_UINT_NULL uint? INT UNSIGNED NULL UInt32 uint_   F_LONG long BIGINT NOT NULL Int64     F_LONG_NULL long? BIGINT NULL Int64     F_ULONG ulong BIGINT UNSIGNED NOT NULL UInt64 ulong_   F_ULONG_NULL ulong? BIGINT UNSIGNED NULL UInt64 ulong_   F_FLOAT float FLOAT NOT NULL Single   极值溢出 F_FLOAT_NULL float? FLOAT NULL Single   极值溢出 F_DOUBLE double DOUBLE NOT NULL Double     F_DOUBLE_NULL double? DOUBLE NULL Double     F_DECIMAL decimal DECIMAL NOT NULL Decimal   极值溢出 F_DECIMAL_NULL decimal? DECIMAL NULL Decimal   极值溢出 F_CHAR char CHARACTER NOT NULL String   中文报错 F_CHAR_NULL char? CHARACTER NULL String   中文报错 F_STRING string VARCHAR(50) NOT NULL String     F_STRING_NULL string VARCHAR(50) NULL String     F_DATETIME DateTime DATETIME NOT NULL DateTime     F_DATETIME_NULL DateTime? DATETIME NULL DateTime                

三、 C# vs MSSQL:

C# MSSQL 字段名 类型 库类型 GetFieldType(#) 转换 备注 F_BOOL bool bit NOT NULL Boolean     F_BOOL_NULL bool? bit NULL Boolean     F_SBYTE sbyte smallint NOT NULL Int16 sbyte_short   F_SBYTE_NULL sbyte? smallint NULL Int16 sbyte_short   F_BYTE byte tinyint NOT NUL; Byte     F_BYTE_NULL byte? tinyint NULL Byte     F_SHORT short smallint NOT NULL Int16     F_SHORT_NULL short? smallint NULL Int16     F_USHORT ushort int NOT NULL Int32 ushort_int   F_USHORT_NULL ushort? int NULL Int32 ushort_int   F_INT int int NOT NULL Int32     F_INT_NULL int? int NULL Int32     F_UINT uint bigint NOT NULL Int64 uint_long   F_UINT_NULL uint? bigint NULL Int64 uint_long   F_LONG long bigint NOT NULL Int64     F_LONG_NULL long? bigint NULL Int64     F_ULONG ulong real NOT NULL Single ulong_float   F_ULONG_NULL ulong? real NULL Single ulong_float   F_FLOAT float real NOT NULL Single     F_FLOAT_NULL float? real NULL Single     F_DOUBLE double float NOT NULL Double     F_DOUBLE_NULL double? float NULL Double     F_DECIMAL decimal decimal NOT NULL Decimal   极值溢出 F_DECIMAL_NULL decimal? decimal NULL Decimal   极值溢出 F_CHAR char char(1) NOT NULL String     F_CHAR_NULL char? char(1) NULL String     F_STRING string varchar(50) NOT NULL F_STRING:     F_STRING_NULL string varchar(50) NULL String     F_DATETIME DateTime datetime NOT NULL DateTime   必须介于 1/1/1753 12:00:00 AM 12/31/9999 11:59:59 PM 之间。 F_DATETIME_NULL DateTime? datetime NULL DateTime                

四、C# vs Oracle:

C# Oracle 字段名 类型 库类型 GetFieldType(#) 转换 备注 F_BOOL bool CHAR(1) NOT NULL String bool_string   F_BOOL_NULL bool? CHAR(1) String bool_string   F_SBYTE sbyte NUMBER(3) NOT NULL Int16 sbyte_short   F_SBYTE_NULL sbyte? NUMBER(3) Int16 sbyte_short   F_BYTE byte NUMBER(3) NOT NULL Int16 byte_short   F_BYTE_NULL byte? NUMBER(3) Int16 byte_short   F_SHORT short NUMBER(5) NOT NULL Int32 short_int   F_SHORT_NULL short? NUMBER(5) Int32 short_int   F_USHORT ushort NUMBER(5) NOT NULL Int32 ushort_int   F_USHORT_NULL ushort? NUMBER(5) Int32 ushort_int   F_INT int NUMBER(10) NOT NULL Int64 int_long   F_INT_NULL int? NUMBER(10) Int64 int_long   F_UINT uint NUMBER(10) NOT NULL Int64 uint_long   F_UINT_NULL uint? NUMBER(10) Int64 uint_long   F_LONG long NUMBER(19) NOT NULL Decimal long_decimal   F_LONG_NULL long? NUMBER(19) Decimal long_decimal   F_ULONG ulong NUMBER(19) NOT NULL Decimal ulong_decimal   F_ULONG_NULL ulong? NUMBER(19) Decimal ulong_decimal   F_FLOAT float BINARY_FLOAT NOT NULL Single     F_FLOAT_NULL float? BINARY_FLOAT Single     F_DOUBLE double BINARY_DOUBLE NOT NULL Double   极值溢出 F_DOUBLE_NULL double? BINARY_DOUBLE Double   极值溢出 F_DECIMAL decimal DECIMAL(33,3) NOT NULL Decimal     F_DECIMAL_NULL decimal? DECIMAL(33,3) Decimal     F_CHAR char CHAR(1) NOT NULL String     F_CHAR_NULL char? CHAR(1) String     F_STRING string VARCHAR(50) NOT NULL String   不允许空字符 F_STRING_NULL string VARCHAR(50) String   不允许空字符 F_DATETIME DateTime TIMESTAMP NOT NULL DateTime   大值读取报错 F_DATETIME_NULL DateTime? TIMESTAMP DateTime   大值读取报错            

附、类型转换:

using System;
using System.Collections.Generic;
using System.Text; namespace vJine.Core.ORM { public class TypeConverter { public class sbyte_ /*: IConverter<sbyte>*/ { public static sbyte CONV_Q(object V) { return (sbyte)V; } } public class ushort_ /*: IConverter<ushort>*/ { public static ushort CONV_Q(object V) { return (ushort)V; } } public class uint_ /*: IConverter<uint>*/ { public static uint CONV_Q(object V) { return (uint)V; } } public class ulong_ /*: IConverter<ulong>*/ { public static ulong CONV_Q(object V) { return (ulong)V; } } public class bool_string /*: IConverter<bool>*/ { public static object CONV_I(object V) { if ((bool)V == true) { return "1"; } else { return "0"; } } public static bool CONV_Q(object V) { if ((string)V == "1") { return true; } else { return false; } } } public class sbyte_short /*: IConverter<sbyte>*/ { public static object CONV_I(object V) { return Convert.ToInt16(V); } public static sbyte CONV_Q(object V) { return Convert.ToSByte(V); } } public class byte_short /*: IConverter<byte>*/ { public static object CONV_I(object V) { return Convert.ToInt16(V); } public static byte CONV_Q(object V) { return Convert.ToByte(V); } } public class short_int /*: IConverter<short>*/ { public static object CONV_I(object V) { return Convert.ToInt32(V); } public static short CONV_Q(object V) { return Convert.ToInt16(V); } } public class ushort_int /*: IConverter<ushort>*/ { public static object CONV_I(object V, string Name) { return Convert.ToInt32(V); } public static ushort CONV_Q(object V, string Name) { return Convert.ToUInt16(V); } } public class int_long /*: IConverter<int>*/ { public static object CONV_I(object V) { return Convert.ToInt64(V); } public static int CONV_Q(object V) { return Convert.ToInt32(V); } } public class uint_long /*: IConverter<uint>*/ { public static object CONV_I(object V) { return Convert.ToInt64(V); } public static uint CONV_Q(object V) { return Convert.ToUInt32(V); } } public class long_decimal /*: IConverter<long>*/ { public static object CONV_I(object V) { return decimal.Parse(V.ToString()); } public static long CONV_Q(object V) { return long.Parse(V.ToString()); } } public class ulong_float /*: IConverter<ulong>*/ { public static object CONV_I(object V) { return Convert.ToSingle(V); } public static ulong CONV_Q(object V) { return Convert.ToUInt64(V); } } public class ulong_decimal /*: IConverter<ulong>*/ { public static object CONV_I(object V) { return decimal.Parse(V.ToString()); } public static ulong CONV_Q(object V) { return ulong.Parse(V.ToString()); } } public class float_double /*: IConverter<float>*/ { public static object CONV_I(object V) { return Convert.ToDouble(V); } public static float CONV_Q(object V) { return Convert.ToSingle(V); } } public class char_string /*: IConverter<char>*/ { public static object CONV_I(object V) { if (V is Char) { return V; } else if (V is string) { string chars = (string)V; if (chars == "") { return ''\0''; } else { return chars[0]; } } else { throw new OrmException("Fail To Convert String[{0}] To Char", V); } } public static char CONV_Q(object V) { return ((string)V)[0]; } } public class DateTime_ /*: IConverter<DateTime>*/ { public static object CONV_I(object V) { return V; } public static DateTime CONV_Q(object V) { return (DateTime)V; } } } }
View Code

 

Connect to MSSQL Database using Flask-SQLAlchemy

Connect to MSSQL Database using Flask-SQLAlchemy

我正在尝试通过SQLAlchemy连接到本地MSSQL数据库。
以下是我的\uu init\uuuuy文件的代码摘录:

from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)app.config[''SQLALCHEMY_DATABASE_URI''] = ''mssql+pyodbc://HARRISONS-THINK/LendApp''db = SQLAlchemy(app)SQLALCHEMY_TRACK_MODIFICATIONS = False

下面是在我的型号.py文件:

from LendApp import dbclass Transaction(db.model):    transactionID = db.Column(db.Integer, primary_key=True)    amount = db.Column(db.Integer)    sender = db.Column(db.String(80))    receiver = db.Column(db.String(80))    def __repr__(self):        return ''Transaction ID: {}''.format(self.transactionID)

然后我使用Pycharm中的Python控制台连接到数据库
这两条线的执行:

>>> from LendApp import db>>> db.create_all()

This is resulting in the following error:

DBAPIError: (pyodbc.Error) (''IM002'', ''[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)'')

我唯一能想到的就是我的数据库连接字符串不正确。我试着把它改成更标准的Pyodbc连接
字符串和includingdriver={sqlserver}但不占上风。如果有人能帮我解决这个问题,我将不胜感激。
谢谢

答案1

小编典典

所以我遇到了一个非常类似的问题,通过做
跟随。
遵循[SQL炼金术]
[文件](http://docs.sqlalchemy.org/en/latest/dialogs/mssql.html#模块-
sqlalchemy.dialones.mssql语言.pyodbc)我发现我可以使用我的pyodbc连接
字符串如下:

# Python 2.ximport urllibparams = urllib.quote_plus("DRIVER={SQL Server Native Client 10.0};SERVER=dagger;DATABASE=test;UID=user;PWD=password")engine = create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)# Python 3.ximport urllibparams = urllib.parse.quote_plus("DRIVER={SQL Server Native Client 10.0};SERVER=dagger;DATABASE=test;UID=user;PWD=password")engine = create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)# using the above logic I just did the followingparams = urllib.parse.quote_plus(''DRIVER={SQL Server};SERVER=HARRISONS-THINK;DATABASE=LendApp;Trusted_Connection=yes;'')app.config[''SQLALCHEMY_DATABASE_URI''] = "mssql+pyodbc:///?odbc_connect=%s" % params

This then caused an additional error because I was also using Flask-Migrate
and apparently it doesn’t like % in the connection URI. So I did some more
digging and found this post.
I then changed the following line in my ./migrations/env.py file

From:

from flask import current_appconfig.set_main_option(''sqlalchemy.url'',                   current_app.config.get(''SQLALCHEMY_DATABASE_URI''))

To:

from flask import current_appdb_url_escaped = current_app.config.get(''SQLALCHEMY_DATABASE_URI'').replace(''%'', ''%%'')config.set_main_option(''sqlalchemy.url'', db_url_escaped)

在做了所有这些之后,我能够进行迁移,一切看起来都像
它现在工作正常。

今天的关于MSSQL Server的连接问题分析和解决2的分享已经结束,谢谢您的关注,如果想了解更多关于asp.net-mvc-3 – 使用存储过程(MSSQL)时Dapper的缓存解决方案、BI学习走过的路---MSSQL 2008 安装过程、C# 数据类型映射 (SQLite,MySQL,MSSQL,Oracle)、Connect to MSSQL Database using Flask-SQLAlchemy的相关知识,请在本站进行查询。

本文标签: