在这篇文章中,我们将带领您了解mssqlsqlserver使用sql脚本清空所有数据库表数据的方法分享的全貌,包括sql清空数据库命令的相关情况。同时,我们还将为您介绍有关Django连接mssql(
在这篇文章中,我们将带领您了解mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享的全貌,包括sql清空数据库命令的相关情况。同时,我们还将为您介绍有关Django 连接 mssql (SqlServer)、go mssql 查询语句到实体中 ,goland 简单连接 sqlserver,并查询数据到实体中、lnmp 环境里安装 mssql 及 mssql 的 php 扩展、Logstash sqlserver JDBC:AdapterNotFound: 无法加载 jdbc/mssql 适配器: 适配器类未在 ADAPTER_MAP> 中注册的知识,以帮助您更好地理解这个主题。
本文目录一览:- mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享(sql清空数据库命令)
- Django 连接 mssql (SqlServer)
- go mssql 查询语句到实体中 ,goland 简单连接 sqlserver,并查询数据到实体中
- lnmp 环境里安装 mssql 及 mssql 的 php 扩展
- Logstash sqlserver JDBC:AdapterNotFound: 无法加载 jdbc/mssql 适配器: 适配器类未在 ADAPTER_MAP> 中注册
mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享(sql清空数据库命令)
摘要: 下文讲述清空数据库中所有表信息的方法分享,如下所示: 实验环境:sql server 2008
实现思路: 1.禁用所有约束,外键 2.禁用所有触发器 3.删除表数据 4.开启触发器 5.开启约束
CREATE PROCEDURE proc_deleteDatesql /* 生成清除数据库表数据的脚本方法分享 */ AS EXEC sp_MSForEachTable ‘ALTER TABLE ? NOCHECK CONSTRAINT ALL‘ EXEC sp_MSForEachTable ‘ALTER TABLE ? disABLE TRIGGER ALL‘ EXEC sp_MSForEachTable ‘delete from ?‘ EXEC sp_MSForEachTable ‘ALTER TABLE ? CHECK CONSTRAINT ALL‘ EXEC sp_MSForEachTable ‘ALTER TABLE ? ENABLE TRIGGER ALL‘ EXEC sp_MSFOREACHTABLE ‘SELECT * FROM ?‘ GO --生成脚本信息 exec proc_deleteDatesql go drop proc proc_deleteDatesql go
此方法请谨慎使用,因为执行后,会导致所有数据丢失,并且不可恢复, 如出现外键约束,最好先删除外键信息,
如:批量删除MSSQL 中主外键约束
转自:http://www.maomao365.com/?p=7544
Django 连接 mssql (SqlServer)
Django 连接 mssql (SqlServer)
方法一:
1、需要安装 pymssql
pip install pymssql
2、使用方法:

import pymssql
conn=pymssql.connect(host=''127.0.0.1'',user=''user'',password=''password'',database=''MyDB'')
cur=conn.cursor()
cur.execute(''select * from table1'')
#如果是插入、删除、更新语句切记要写提交命令con.commit()
print (cur.fetchall())
cur.close()
conn.close()

方法二:
1、安装必要的组件:
pip install django-sqlserver django-pytds pyodbc django-pyodbc pypiwin32
2、修改 settings.py 的 DATABASES:

DATABASES = {
# ''default'': {
# ''ENGINE'': ''django.db.backends.sqlite3'',
# ''NAME'': os.path.join(BASE_DIR, ''db.sqlite3''),
# }
''default'': {
''ENGINE'': ''sqlserver'',
''NAME'': ''MyDB'',
''HOST'': ''127.0.0.1'',
''PORT'': ''1433'',
''USER'': ''user'',
''PASSWORD'': ''password,
''OPTIONS'': {
''DRIVER'': ''SQL Server Native Client 10.0'',
},
}
}

方法三:
1、需要安装 SQL Server Management Studio 或者 manually install Microsoft Data Access Components (MDAC) 程序。
2、安装 django-mssql 和 pywin32:
pip install django-mssql
3、修改 settings.py 的 DATABASES:

DATABASES = {
# ''default'': {
# ''ENGINE'': ''django.db.backends.sqlite3'',
# ''NAME'': os.path.join(BASE_DIR, ''db.sqlite3''),
# }
''default'': {
''NAME'': ''MyDB'',
''ENGINE'': ''sqlserver_ado'',
''HOST'': ''127.0.0.1'',
''USER'': ''user'',
''PASSWORD'': ''password'',
''OPTIONS'': {
''provider'': ''SQLOLEDB'', # Have also tried ''SQLCLI11'' and ''SQLOLEDB''
''extra_params'': ''DataTypeCompatibility=80''
},
}
}

provider 为''SQLCLI10'' 时若有问题,可改成''SQLOLEDB'' ,反之亦然。
方法四:
1、安装 django-pyodbc-azure 和 pyodbc
pip install django-pyodbc-azure pyodbc
2、修改 settings.py 的 DATABASES:

DATABASES = {
''default'': {
''ENGINE'': ''sql_server.pyodbc'',
''NAME'': ''MyDB'',
''USER'': ''user'',
''PASSWORD'': ''password'',
''HOST'': ''127.0.0.1'',
''PORT'': '''',
''OPTIONS'': {
''driver'':''SQL Server Native Client 11.0'',
''MARS_Connection'': True,
},
},
}
# set this to False if you want to turn off pyodbc''s connection pooling
DATABASE_CONNECTION_POOLING = False

go mssql 查询语句到实体中 ,goland 简单连接 sqlserver,并查询数据到实体中
go mssql 查询语句到实体中 ,
goland 简单连接 sqlserver,并查询数据到实体中
需要引用包:github.com/denisenkom/go-mssqldb
我们使用 cmd 执行:
go get github.com/denisenkom/go-mssqldb
上代码(简单例子):学习记录
/*
* copyright(C),2019-2020, email: 952651117@qq.com
* Author: dao
* Version: 1.0.0
* Date: 2021/6/10 8:40
* Description:
*
*/
package main
import (
"database/sql"
"fmt"
_ "github.com/denisenkom/go-mssqldb"
"log"
)
type man struct {
Id int
Name string
IsGraduate bool
}
func main() {
//编写连接字符串
connString := "server=120.79.19.125;port1433;database=cuyan;user id=cuyan;password=123456"
//建立数据库连接:conn
conn, err := sql.Open("mssql", connString)
if err != nil {
log.Fatal("Open Connection Failed:", err.Error())
}
defer conn.Close()
//编写查询语句
stmt, err := conn.Prepare(`select Name from [Student]`)
if err != nil {
log.Fatal("Prepare Failed:", err.Error())
}
defer stmt.Close()
//执行查询语句
rows, err := stmt.Query()
if err != nil {
log.Fatal("Query Failed:", err.Error())
}
//将数据读取到实体中
var rowsData []*man
for rows.Next() {
row := new(man)
//其中一个字段的信息 , 如果要获取更多,就在后面增加:rows.Scan(&row.Name,&row.Id)
rows.Scan(&row.Name)
rowsData = append(rowsData, row)
}
for _, v := range rowsData {
//循环输出读取的数据
fmt.Println(v.Name)
}
}
执行后如下图:
lnmp 环境里安装 mssql 及 mssql 的 php 扩展
小活中用到 mssql, 于是在自己 lnmp 环境中安装各 mssql 数据库
步骤如下:
源码编译安装
# tar zxvf freetds-stable.tgz(解压,)
# cd freetds-0.91
# 编译
# ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib
# make
# make install
参数解释:
安装 freetds 到目录 /usr/local/freetds:--prefix=/usr/local/freetds
支持 MSSQL2000:--with-tdsver=8.0 --enable-msdblib
配置 FreeTds 的库文件
将 freetds 的库文件所在路径配置到 LD_LIBRARY_PATH 参数中:
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/localfreetds/lib/:
或者直接把 etc/bashrc 的文件 bashrc 直接填写上 LD_LIBRARY_PATH=/usr/localfreetds/lib:$LD_LIBRARY_PATH
这么作的目的是为了避免加载 FreeTds 库文件加载不上的情况。
php 里安装 php-mssql 扩展:
cd /download (把php-mssql扩展下载到download目录里)
wget http://cn2.php.net/distributions/php-5.6.30.tar.gz (下载扩展文件,这里要根据你环境中运行的php版本选择对应的扩展版本下载,我这里php是5.6.30的 所以php-mssql扩展下载对应的版本)
tar -zxvf php-5.6.30.tar.gz
cd /php-5.6.30/ext/mssql
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds/
make && make install
编译安装后的结果 如下图
同时 mssql.so 也在 php 扩展文件下生成 (如下图)
把 extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/mssql.so" 添加到 usr/local/php/lib/php.ini 中
引用扩展后,重启 web 服务,通过 phpinfo 查看扩展 mssql 是否开启成功
重启 php /usr/local/php/sbin/php-fpm reload
重启 nginx 进入 nginx 可执行目录 sbin 下,输入命令./nginx -s reload 即可(或者 /application/nginx/sbin/nginx -s reload)
Logstash sqlserver JDBC:AdapterNotFound: 无法加载 jdbc/mssql 适配器: 适配器类未在 ADAPTER_MAP> 中注册
如何解决Logstash sqlserver JDBC:AdapterNotFound: 无法加载 jdbc/mssql 适配器: 适配器类未在 ADAPTER_MAP> 中注册
我正在尝试使用 logstash 过滤器插件 jdbc_streaming
,
我的 logstash 版本是 7.13 操作系统 centos 7 openjdk 11.0.11 2021-04-20 LTS jdbc 6.0 : "/home/jdbc/sqljdbc_6.0/enu/jre7/sqljdbc41.jar"
我的logstash配置
input {
generator {
lines => [
"CBN00000020121","CBN00000040121"
]
count => 1
}
}
filter{
csv{
columns => ["noinvoice"]
separator => ","
}
{
jdbc_streaming {
jdbc_driver_library => "/home/jdbc/sqljdbc_6.0/enu/jre7/sqljdbc41.jar"
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.sqlServerDriver"
jdbc_connection_string => "jdbc:mssql://someip:1433/mydatabase"
jdbc_user => "user"
jdbc_password => "password"
statement => "select EmailTime from TestInvoice.dbo.storing_ssis WHERE invoiceno= :noinvoice"
parameters => {"noinvoice" => "noinvoice"}
target => "EmailTime"
}
}
output{
stdout{codec => rubydebug}
}
当我跑过/usr/share/logstash/bin/logstash -f fjdbc.conf
它返回
Using bundled JDK: /usr/share/logstash/jdk
OpenJDK 64-Bit Server VM warning: Option UseConcmarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
WARNING: Could not find logstash.yml which is typically located in $LS_HOME/config or /etc/logstash. You can specify the path using --path.settings. Continuing using the defaults
Could not find log4j2 configuration at path /usr/share/logstash/config/log4j2.properties. Using default config which logs errors to the console
[INFO ] 2021-06-10 15:55:36.686 [main] runner - Starting Logstash {"logstash.version"=>"7.13.1","jruby.version"=>"jruby 9.2.16.0 (2.5.7) 2021-03-03 f82228dc32 OpenJDK 64-Bit Server VM 11.0.11+9 on 11.0.11+9 +indy +jit [linux-x86_64]"}
[WARN ] 2021-06-10 15:55:37.253 [LogStash::Runner] multilocal - Ignoring the ''pipelines.yml'' file because modules or command line options are specified
[INFO ] 2021-06-10 15:55:39.668 [Api Webserver] agent - Successfully started Logstash API endpoint {:port=>9600}
[INFO ] 2021-06-10 15:55:41.520 [Converge PipelineAction::Create<main>] Reflections - Reflections took 69 ms to scan 1 urls,producing 24 keys and 48 values
[ERROR] 2021-06-10 15:55:43.988 [[main]-pipeline-manager] javapipeline - Pipeline error {:pipeline_id=>"main",:exception=>#<Sequel::AdapterNotFound: Could not load jdbc/mssql adapter: adapter class not registered in ADAPTER_MAP>,:backtrace=>["/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.44.0/lib/sequel/database/connecting.rb:97:in `load_adapter''","/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.44.0/lib/sequel/adapters/jdbc.rb:380:in `adapter_initialize''","/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.44.0/lib/sequel/database/misc.rb:154:in `initialize''","/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.44.0/lib/sequel/database/connecting.rb:57:in `connect''","/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/sequel-5.44.0/lib/sequel/core.rb:124:in `connect''","/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-integration-jdbc-5.0.7/lib/logstash/plugin_mixins/jdbc_streaming.rb:62:in `prepare_jdbc_connection''","/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-integration-jdbc-5.0.7/lib/logstash/filters/jdbc_streaming.rb:122:in `register''","org/logstash/config/ir/compiler/AbstractFilterDelegatorExt.java:75:in `register''","/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:228:in `block in register_plugins''","org/jruby/RubyArray.java:1809:in `each''","/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:227:in `register_plugins''","/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:586:in `maybe_setup_out_plugins''","/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:240:in `start_workers''","/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:185:in `run''","/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:137:in `block in start''"],"pipeline.sources"=>["/etc/logstash/fjdbc.conf"],:thread=>"#<Thread:0x67751750 run>"}
[INFO ] 2021-06-10 15:55:43.991 [[main]-pipeline-manager] javapipeline - Pipeline terminated {"pipeline.id"=>"main"}
[ERROR] 2021-06-10 15:55:44.015 [Converge PipelineAction::Create<main>] agent - Failed to execute action {:id=>:main,:action_type=>LogStash::ConvergeResult::FailedAction,:message=>"Could not execute action: PipelineAction::Create<main>,action_result: false",:backtrace=>nil}
[INFO ] 2021-06-10 15:55:44.146 [LogStash::Runner] runner - Logstash shut down.
如何指定适配器类?
更新
因为我使用的是 jdk 11,所以我应该使用 jdbc 7.2.2。我也在 /root/jdbc2/sqljdbc_7.2/enu/mssql-jdbc-7.2.2.jre11.jar
中指定了路径,但它仍然返回相同的错误
更新2
我已将罐子移至 /usr/share/logstash/logstash-core/lib/jars/
然后更改 jdbc_driver_library=>""
它仍然返回
[ERROR] 2021-06-11 17:07:46.257 [Converge PipelineAction::Create<main>] jdbcstreaming - Invalid setting for jdbc_streaming filter plugin:
filter {
jdbc_streaming {
# This setting must be a path
# File does not exist or cannot be opened
jdbc_driver_library => ""
...
}
}
更新 3
我已经移动了罐子的路径,它是 /root/jdbc2/sqljdbc_7.2/enu/mssql-jdbc-7.2.2.jre11.jar
到 /etc/logstash/jar/mssql-jdbc-7.2.2.jre11.jar
当我再次运行时,它返回与以下相同的错误:
[ERROR] 2021-06-11 17:13:34.597 [[main]-pipeline-manager] javapipeline - Pipeline error {:pipeline_id=>"main",:thread=>"#<Thread:0x2a713d1d run>"}
更新 4
我刚刚重新下载 jdbc 7.2 为
pwd
/home/
mkdir jdbc2
wget https://download.microsoft.com/download/4/D/C/4DCD85FA-0041-4D2E-8DD9-833C1873978C/sqljdbc_7.2.2.0_enu.tar.gz
gzip -d sqljdbc_7.2.2.0_enu.tar.gz
tar -xf sqljdbc_7.2.2.0_enu.tar
将其用作最终 fjdbc.conf
input {
generator {
lines => [
"CBN00000020121","CBN00000040121"
]
count => 1
}
}
filter{
jdbc_streaming {
# jdbc_driver_library => "/root/jdbc2/sqljdbc_7.2/enu/mssql-jdbc-7.2.2.jre11.jar"
# jdbc_driver_library => "/etc/logstash/jar/mssql-jdbc-7.2.2.jre11.jar"
jdbc_driver_library => "/home/jdbc2/sqljdbc_7.2/enu/mssql-jdbc-7.2.2.jre11.jar"
# jdbc_driver_class => ""
jdbc_driver_class => "com.microsoft.sqlserver.jdbc.sqlServerDriver"
jdbc_connection_string => "jdbc:mssql://someip:1433/TestInvoice"
# jdbc_user => "sa"
jdbc_password => "BIDWT3st!"
statement => "select EmailTime from TestInvoice.dbo.storing_ssis WHERE invoiceno= :noinvoice"
parameters => {"noinvoice" => "noinvoice"}
target => "EmailTime"
}
}
output{
stdout{codec => rubydebug}
}
返回与更新 3 相同的错误。
更新 5
- 下载 jdbc 8.2 for jdk 11. 使用
mssql-jdbc-8.2.2.jre11.jar
,将此 jar 复制到/usr/share/logstash/logstash-core/lib/jars/
, - 删除
jdbc_driver_library
行,因为我已将其复制到 logstash 的 jar 中, - 将
jdbc_connection_string
格式从jdbc:mssql://someip:1433/mydatabase
编辑为jdbc:sqlserver:someip:1433;databaseName=dbname;user=username;password=password"
仍然返回相同的错误。 请帮忙。谢谢
今天的关于mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享和sql清空数据库命令的分享已经结束,谢谢您的关注,如果想了解更多关于Django 连接 mssql (SqlServer)、go mssql 查询语句到实体中 ,goland 简单连接 sqlserver,并查询数据到实体中、lnmp 环境里安装 mssql 及 mssql 的 php 扩展、Logstash sqlserver JDBC:AdapterNotFound: 无法加载 jdbc/mssql 适配器: 适配器类未在 ADAPTER_MAP> 中注册的相关知识,请在本站进行查询。
本文标签: