-
2020-09-12 10:52:16更多相关内容
-
Cadence CIS本地数据库建立及配置方法
2015-08-26 15:55:31Cadence CIS本地数据库建立及配置方法,方便管理本地或者服务器元器件库的信息,对硬件设计的库管理比较完善。 -
C# 连接本地数据库
2022-03-21 14:39:34C# 如何连接本地数据库? 1. 安装MySQL 下载MySQL软件,傻瓜式安装即可,安装完之后,在系统偏好号设置里会出现一个MySQL的图标。 在安装的时候会让用户输入密码,这个自己看着输就行了,但是别忘记了。 建议别用...C#
VSCode
M1C# 如何连接本地数据库?
1. 安装MySQL
下载MySQL软件,傻瓜式安装即可,安装完之后,在
系统偏好号设置
里会出现一个MySQL的图标。在安装的时候会让用户输入密码,这个自己看着输就行了,但是别忘记了。
建议别用终端命令行安装了,对初学者来说学习成本比较大。2. 连接本地MySQL
安装完MySQL之后,点击MySQL图标,开启MySQL,如下我已开启
我本地已安装了Navicate,我就使用Navicate对本地数据库进行连接,验证是否能连接成功
打开Nvicate点击Connection,选择MySQL
填入数据库名,输入密码连接就可以了
连接上之后可以创建一个数据库Test
然后我们在数据库Test里面创建表,之后就可以使用C# 连接到本地的数据库,对表Test进行操作了。3. C# 连接本地MySQL
我们本地创建一个控制台命令程序Demo,然后完整代码如下
// 定义连接字符串。这里Test是我们创建的数据库表;Uid是一个表字段;输入数据库的密码即可 string connectStr = "Server=127.0.0.1;Database=Test.Uid=root;Password=xxx;"; // 创建链接对象 MySqlConnection connection = new MySqlConnection(connectStr); if (connection != null) { Console.WriteLine("数据库连接成功"); } else { Console.WriteLine("数据库连接失败"); return; } // 打开连接 connection.Open(); // 拼写SQL语句 StringBuilder sqlB = new StringBuilder(); sqlB.AppendLine("SELECT "); sqlB.AppendLine(" stuID "); sqlB.AppendLine(" , name "); sqlB.AppendLine("FROM studen "); sqlB.AppendLine("; "); // 创建执行Sql的对象 MySqlCommand command = new MySqlCommand(sqlB.ToString(), connection); // 执行Sql MySqlDataReader reader = command.ExecuteReader(); // 遍历数据 while(reader.Read()) { Console.WriteLine("{0}\t{1}", reader["stuID"], reader["name"]); }
上面的代码我们使用了
StringBuilder
来拼写Sql语句,使用MySqlConnection
和MySqlCommand
等类进行数据库的操作StringBuilder 是 System.Text 这个库里,我们需要Using这个库
MySqlConnection 和 MySqlCommand 是MySQL的一个库,MySql.Data,我们需要将 MySql.Data.MySqlClient 引入项目里
.net6 首选我们将库Using进来,在 .csproj 文件中添加 ItemGroup
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> </PropertyGroup> <ItemGroup> <Using Include="MySql.Data.MySqlClient" /> <Using Include="System.Text" /> </ItemGroup> <ItemGroup> <PackageReference Include="MySql.Data" Version="8.0.28" /> </ItemGroup> </Project>
因为我创建的是控制台应用程序,所以直接在终端中使用如下命令导入库dotnet add package MySql.Data
➜ Demo dotnet add package MySql.Data 正在确定要还原的项目… Writing /var/folders/k1/96lj0hk91js5fh5lhxnl7s740000gn/T/tmpn7jejh.tmp info : 正在将包“MySql.Data”的 PackageReference 添加到项目“/Users/morris/Desktop/Demo/Demo.csproj”。 info : CACHE https://api.nuget.org/v3/registration5-gz-semver2/mysql.data/index.json info : 正在还原 /Users/morris/Desktop/Demo/Demo.csproj 的包... info : GET https://api.nuget.org/v3-flatcontainer/mysql.data/index.json info : OK https://api.nuget.org/v3-flatcontainer/mysql.data/index.json 217 毫秒 info : GET https://api.nuget.org/v3-flatcontainer/mysql.data/8.0.28/mysql.data.8.0.28.nupkg info : OK https://api.nuget.org/v3-flatcontainer/mysql.data/8.0.28/mysql.data.8.0.28.nupkg 108 毫秒 info : GET https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4.streams/index.json info : OK https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4.streams/index.json 196 毫秒 info : GET https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4.streams/1.2.6/k4os.compression.lz4.streams.1.2.6.nupkg info : OK https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4.streams/1.2.6/k4os.compression.lz4.streams.1.2.6.nupkg 92 毫秒 info : GET https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4/index.json info : OK https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4/index.json 233 毫秒 info : GET https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4/1.2.6/k4os.compression.lz4.1.2.6.nupkg info : OK https://api.nuget.org/v3-flatcontainer/k4os.compression.lz4/1.2.6/k4os.compression.lz4.1.2.6.nupkg 93 毫秒 info : 已通过内容哈希 4EN8EE6bZG2U8dFfeqn+Om3UNajK3cPYHvyQROCFm4jNFVLuRB7Nl5bDkjBSAjfctS6konm+ay3u5RafBzltDA== 从 https://api.nuget.org/v3/index.json 安装 K4os.Compression.LZ4 1.2.6 。 info : 已通过内容哈希 5KMcNFRHeRrnJ9c8k5fZcfAJJEY0FndMiDiHIYa35Mx5KCMkeSNo/PEXu7YmtCoVczJagx+Vt7J/F+//S1PcJQ== 从 https://api.nuget.org/v3/index.json 安装 K4os.Compression.LZ4.Streams 1.2.6 。 info : 已通过内容哈希 7b699tU9ba0r7SBK7K9snGJB9ulnOdwEXG28kpVvaQSN0hHenfoJ/ADOtdfhcvcn1KStBX8pFK5qIl8scdBL2g== 从 https://api.nuget.org/v3/index.json 安装 MySql.Data 8.0.28 。 info : 包“MySql.Data”与项目“/Users/morris/Desktop/Demo/Demo.csproj”中指定的所有框架均兼容。 info : 包“MySql.Data”(版本为 8.0.28)的 PackageReference 已添加到文件“/Users/morris/Desktop/Demo/Demo.csproj”。 info : 将资产文件写入磁盘。路径: /Users/morris/Desktop/Demo/obj/project.assets.json log : 已还原 /Users/morris/Desktop/Demo/Demo.csproj (用时 3.6 sec)。
这个框架就会被下载引用到项目中了
最后执行
dotnet run
, 数据库连接成功! -
Flutter 本地数据库sqflite实战操作
2022-03-29 09:54:10Flutter本地化数据库操作、sqflite操作方法、数据库操作Flutter 本地数据库sqflite实战操作
通过本文章将带你了解sqflite如何使用并管理,注意要学习本功能、要具备一定的sql数据库操作的基础知识!
知识点:
- 本地化列表数据
- 本地化列表详情数据
- sqflite 本地化数据库增删改查操作
一、安装sqflite
https://pub.flutter-io.cn/packages/sqflite
二、创建Db数据库文件夹,创建Db文件
文件夹路径:Lib/Db/StepTasksDb/StepTasksDb.dart
三、编辑Db文件
StepTasksDb.dart全部代码
import 'package:path/path.dart'; import 'package:sqflite/sqflite.dart'; // 定义数据库Mock模型 final String tableName = 'step_task_table'; // 数据库名称 final String columnId = '_id'; // 索引id final String columnType = 'step_listType'; // 列表类型 final String columnStepListData = 'step_listData'; // 列表数据 final String columnStepDataDetails = 'step_status'; // 列表详情数据 // 定义模板模型类 class StepTasks { int id; String stepListType; // 列表类型 String stepListData; // 列表数据 String stepDataDetails; // 详情数据 StepTasks({this.id, this.stepListType, this.stepListData, this.stepDataDetails}); // 模型转Map数据使用 Map<String, Object> toMap() { var map = <String ,Object>{ columnType:stepListType, columnStepListData:stepListData, columnStepDataDetails:stepDataDetails }; if (id != null) { map[columnId] = id; } return map; } // 模型数据传入类中 StepTasks.fromMap(Map<String, Object> map){ id = map[columnId]; stepListType = map[columnType]; stepListData = map[columnStepListData]; stepDataDetails = map[columnStepDataDetails]; } } // 定义数据库 class StepTasksDb { Database db; // 初始化数据库 Future<String> initDatabase() async { // 获取本地存储数据库路径 var databasesPath = await getDatabasesPath(); // 创建数据库db文件 String path = join(databasesPath, 'stepTasks.db'); return path; } // 打开并创建表 Future open(String path) async { print('------------------打开并创建表<StepTasksDb>------------------'); db = await openDatabase(path, version:1, onCreate:(Database db, int version) async { await db.execute(''' create table $tableName ( $columnId integer primary key autoincrement, $columnType text , $columnStepListData text , $columnStepDataDetails text ) '''); }); } // 添加数据 Future<StepTasks> insert(StepTasks data) async { data.id = await db.insert(tableName, data.toMap()); return data; } // 获取数据(根据type条件查询) Future<List> getData({type = ''}) async { List<Map> maps = []; maps = await db.query(tableName, columns:[columnId, columnType, columnStepListData, columnStepDataDetails], where: '$columnType = ?', whereArgs: [type]); if(maps ==null || maps.length == 0){ return []; } List list = []; for(int i = 0; i<maps.length; i++){ list.add(maps[i]); } return list; } // 修改数据(通过id匹配修改整个数据) Future<int> update(StepTasks data) async { return await db.update(tableName, data.toMap(), where: '$columnId = ?', whereArgs: [data.id]); } // 删除数据(通过id匹配删除数据) Future<int> delete(int id) async { return await db.delete(tableName, where:'$columnId = ?', whereArgs:[id]); } // 关闭此表的链接 Future close() async => db.close(); }
四、使用创建的数据库文件
注意:
首先安装网络监听插件:connectivity,虽然本插件已经停止更新了,但是在Pub官方文档也有新的插件替代了旧插件,大家可以凭个人需求来,这里不强求用什么插件,只需要达到网络监听效果即可。import 'dart:convert'; import 'package:flutter/material.dart'; import 'TestDb_Flutter/Db/StepTasksDb/StepTasksDb.dart'; class TestDbPage extends StatefulWidget { @override State<TestDbPage> createState() => _TestDbPageState(); } class _TestDbPageState extends State<TestDbPage> { var listData = []; var _storageListData = []; // 存储本地数据 List cacheSelectList = []; // 存储需要缓存的数据 var networkStatus = -1; // -1:没有网络 1:wifi 2:4G StepTasksDb _stepTaskDb = StepTasksDb(); @override void initState() { super.initState(); _initDatabase(); } // 打开数据库 Future _initDatabase() async { String path = await _stepTaskDb.initDatabase(); // await File(path).delete(); // 删除表 await _stepTaskDb.open(path); // 打开表 _getListData(); } // 网络请求数据 Future _getListData() async { await _getStorageData(); if(networkStatus == 1){ var res = await api.request('https://xxx.xxxx/api'); setState((){listData = res['data']}) return res; }else{ // 没有网络的话 setState(() { _listData = _storageListData; }); return _storageListData; } } // 获取本地数据 Future _getStorageData() async { var data = await _stepTaskDb.getData(type: 'process'); setState(() { _storageListData = data; // 先赋值一次 以便添加时使用 }); } @override void dispose() { // 关闭数据库 _stepTaskDb.close(); super.dispose(); } @override Widget build(BuildContext context) { return ListView.builder( itemCount: listData.length, itemBuilder: (context, index){ return InkWell( child:Container(child:Text(listData[index]['title'])); onTap:(){ // 创建要存储本地的数据 var dataBase = { 'step_listData': json.encode(listData[index]), }; // 请求详情的参数 var params = {id:'xxx'}; var res = await api.request('https://xxx.xxxx/api', formData: params); // 不为空的话,证明拿到了正常数据,将其存储到要存储的数据参数中 if(res != null){ dataBase['assets_listDetails'] = json.encode(res['data']); } // 进行本地缓存 var db_res = await _stepTaskDb.insert(StepTasks(stepListType:'process', stepListData:dataBase['step_listData'], stepDataDetails:dataBase['assets_listDetails'])); }, onLongPress: (){ // 只在获取了本地存储的情况下,才能够通过id删除数据 _stepTaskDb.delete(v['_id']); }, ); }, ); } }
以上代码暂且只介绍了本地化操作的 增删查操作、至于修改操作,则和增操作大体类似,通过传入的本地数据id,来将新的数据替换掉旧的数据即可
例子:
var res = await _stepTaskDb.update(StepTasks(id:v['id'], stepListType:'process', stepListData:dataBase['listData'], stepDataDetails:dataBase['listDetails']));
目前为止,应该将最基本的增删改查操作介绍完了,并且附上了例子,如果不出大问题的话,大家应该可以达到本地化数据的操作,有问题请下方留言联系我~
-
Electron那些事10:本地数据库sqlite
2022-04-02 17:06:03但是像一些复杂的业务,需要维护一个本地数据库进行查询,本节讲一下本地数据库sqlite 【sqlite】 sqlite是有名的本地数据库,在很多系统中都有应用,SQLite Home Page 当然也有nodejs的版本,一般配套和...【前言】
上一节讲了本地日志,本地数据(文件)的部分,
详见:Electron那些事09:本地数据_uikoo9的博客-CSDN博客
虽然本地日志可以记录日志信息,
本地数据可以记录简单的配置文件,
但是像一些复杂的业务,需要维护一个本地数据库进行查询,本节讲一下本地数据库sqlite
【sqlite】
sqlite是有名的本地数据库,在很多系统中都有应用,SQLite Home Page
当然也有nodejs的版本,一般配套和electron使用,sqlite3 - npm
默认的版本是nodejs版本,electron内可以直接使用,
还有node-webkit版本,这个版本是给node-webkit类环境使用,例如nw框架使用
另外还有sqlcipher版本,就是加密的本地数据库版本
【安装和使用】
安装比较简单
npm i sqlite3
先看官网一个例子
var sqlite3 = require('sqlite3').verbose(); var db = new sqlite3.Database(':memory:'); db.serialize(function() { db.run("CREATE TABLE lorem (info TEXT)"); var stmt = db.prepare("INSERT INTO lorem VALUES (?)"); for (var i = 0; i < 10; i++) { stmt.run("Ipsum " + i); } stmt.finalize(); db.each("SELECT rowid AS id, info FROM lorem", function(err, row) { console.log(row.id + ": " + row.info); }); }); db.close();
也比较简单,创建db,创建table,插入数据,然后查询,效果如下
【创建数据库】
创建数据库的文档:https://github.com/mapbox/node-sqlite3/wiki/API#new-sqlite3databasefilename-mode-callback
filename,
当传入:memory:时,会将数据库保存在内存中,不会持久化
当传入具体的文件名时,会在对应的位置创建一个文件
例如直接传入test.db时,会在根目录下创建一个test.db文件
当传入具体的文件路径时,会在对应的路径下创建文件,
这样在electron应用下,就可以结合上一节的内容,将db文件创建在应用目录下了
【创建和更新表格】
创建数据库表也比较简单,使用sql创建即可,
db.run("CREATE TABLE lorem (info TEXT)");
sqlite支持哪些数据类型呢,可以看这里,Datatypes In SQLite
可以需要注意,可以传入callback函数,如果创建失败,会报错,如果成功会返回null
db.run(sql, (e) => { if(e) throw e; });
创建表格详细的文档可以看这里,CREATE TABLE
更新表格可以看这里,ALTER TABLE
创建view,可以看这里,CREATE VIEW
删除表格和view,
https://www.sqlite.org/lang_dropview.html
【插入数据】
插入数据需要先使用db.prepare准备好statement语句,然后run,然后finalize写入,如下
详细可以看这里,INSERT
【查询数据】
查询数据,可以看这里,SELECT
这里有三种返回数据的方法,all,each,get
all,返回所有数据
each,多次回调,返回每一个数据
get,返回第一个数据
// 多次回调 db.each('SELECT * FROM t_project', function(err, row) { console.log(row); }); // 返回第一行 db.get('SELECT * FROM t_project', function(err, row) { console.log(row); }); // 返回所有数据 db.all('SELECT * FROM t_project', function(err, row) { console.log(row); });
【删除数据】
删除数据可以看这里,DELETE
【m1下问题】
sqlite3这个npm包,单独使用没有问题,
但是在mac m1+electron环境下使用会报错,如下
报错提示找不到arm64下的文件,但是sqlite3下有x64版本的,
修复的版本,npm i的时候添加指定系统
npm install --target_arch=arm64
这样即可安装arm64版本的sqlite3
【qiao-sqlite】
将常见的sqlite操作封装了一个npm,qiao-sqlite - npm
create db
create table
drop table
show tables
以及常见的数据操作
insert data
modify data
get data
select data
del data
等操作
【总结】
1.使用sqlite作为本地数据库
2.创建数据库
3.创建和修改表
4.插入数据,修改数据,查询数据,删除数据等
-
HTML5通讯录用本地数据库制作联系人
2015-04-03 09:48:52用HTML5本地数据库制作联系人,使用Chrome或Opera才能看到效果 -
安卓微信本地数据库解密
2022-01-05 16:20:52安卓微信数据库解密 -
SQL如何本地数据库连接服务器的数据库
2020-12-11 15:09:59当我们本地数据库的数据作为测试的时候,需要服务器上的数据,但是每次都远程服务器打开数据库查看数据是很麻烦的,那么我们如何让本地的数据库连接服务器上的数据库。前提是你本地的数据库的版本必须和服务器上的... -
App Inventor 本地数据库详解
2021-04-26 01:08:51序号 姓名 手机 1 赵一 15815815815 2 钱二 15915915915 3 孙三 15715715715 4 李四 15615615615 增 前端提交页面设置 提交页面基本上是这个样子 输入姓名和手机点击提交,将信息提交到本地数据库 逻辑端基本上这个... -
微信本地数据库解密
2019-07-31 12:13:01微信本地数据库解密(安卓) 微信的本地数据库EnMicroMsg.db存储在/data/data/com.tencent.mm/MicroMsg/(一长串)/中 uin存储在/data/data/com.tencent.mm/shared_prefs/com.tencent.mm_preferences.xml(或auth_... -
怎么使用可视化数据库工具 DBeaver 连接本地数据库?
2021-12-13 09:55:23安装 ... 使用 安装好之后,我们来开始操作:我这边安装的是 7.0.0 的 1、打开界面 2、新建连接 点击左上角的加号插头新建连接,然后选择 MySQL 数据库: ...3、mysql 连接设置 点击下一步后,出现 mysql ...4、连接数据库 -
Electron-Vue中操作本地数据库NeDB
2021-05-01 21:49:22NeDB是使用Node.js实现的一个NoSQL嵌入式数据库操作模块,可以充当内存数据库,也可以用来实现本地存储,甚至可以在浏览器中使用。查询方式比较灵活,支持使用正则、比较运算符、逻辑运算符、索引以及JSON深度查询等... -
sql连接本地数据库
2020-01-20 14:45:29sql连接本地数据库 安装好SQL 2008后,界面只有已安装的包和正在运行的包 左侧没有数据库,无法进行数据库操作. 这是因为打开软件后,会提示连接一个东西,连接的时候按照默认的话就会连接错。如果出现提示连接成功... -
Python创建本地数据库
2020-02-05 10:44:28如果已有SQLite、PostgreSQL 或 MySQL 数据库,可以参考快速入门指南(https://dataset.readthedocs.io/en/latest/quickstart.html)直接连接。 然后安装Dataset,pip install dataset。 代码示例: ... -
将本地数据库中的数据上传到云服务器数据库
2020-05-19 20:25:32操作本地数据库 (1)打开数据库 (2)导出数据库(例如: tangshi 数据库) 二.将刚刚导出的 123.sql 文件上传到云服务器(工具:Xshell6+Xftp) 将本地的 123.sql 文件通过 Xftp 上传到云服务器中 三.操作云... -
微信小程序取本地数据库数据(实测有图)
2021-09-08 17:02:57一、安装数据库 二、安装PHP+Apache 三、编辑微信小程序代码 前两项的简单介绍在如下连接: PHP+Apache 四、本文主要介绍第三项的内容 需要用到的文件如下: 1、新建微信小程序工程 2、在index/index.js中操作如下:... -
修改本地数据库密码(修改成你需要的密码)
2020-08-06 09:44:38如何修改本地数据库密码 1.cmd进入mysql数据库: 2.输入命令修改密码 : set password for root@localhost = password(‘root’); 或者 ALTER USER’root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD ... -
Android-实时可视化查看本地数据库(系统内置,无需插件)
2022-04-13 10:33:22Android-Studio实时可视化查看本地数据库,开发环境内置组件,无需额外插件 -
连接本地数据库和远程连接他人数据库?
2019-07-06 12:05:21新装navicat如何连接本地数据库? 1是localhost, 2是127.0.0.1 言简意赅:本地数据库IP一般是127.0.0.1 2.连接之后 3.,来验证一下是不是你的数据库。 4.输入密码后回车,进入 5.show databases;回车 ... -
建立本地数据库
2018-05-16 14:23:05因为之前没有接触过MySQL,一直以为Navicat就是数据库,所以就直接连接本地数据库,怎么都连接不上,原来是要安装数据库 所遇问题及解决方法: 1. 安装错误:丢失VCRUNTIME140,下载并安装VC++2015, ... -
搭建Android本地数据库(SQLite)的详细讲解
2018-04-15 11:44:02大家好,今天我给大家整理了一些关于Android本地数据库SQLite搭建的详细步骤! SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中... -
Android 如何使用adb命令查看应用本地数据库
2021-12-10 16:53:46完成以上步骤就能愉快的访问本地应用的数据库了 小技巧: 开始的时候啃不知道本地数据库的所在路径 可以在Android studio—>View–>Tool Windows–>Device file Explores 进行本地数据文件的查看,路径是在 data/data/... -
如何使用 JS 实现一个本地数据库?
2018-04-22 00:00:00本文来自作者 郭方超 在 GitChat 上分享 「使用 JS 实现一个本地数据库」编辑 | 杰伦前端很多时候还是需要保存一些数据的,这里的保存指的是长久的保存。以前的思... -
禅道使用本地数据库
2020-02-28 15:21:252. 导出禅道数据库到本地数据库 3. 修改配置 找到你禅道的安装路径下的myphp文件,比如我的是在 修改配置,连接到需要本地数据库 完工,配置起来并不复杂,摸索的过程比较长o(╥﹏╥)o ... -
H5本地存储和本地数据库
2018-04-19 15:40:02操作本地数据库的最基本的步骤是: (1)openDatabase方法:创建一个访问数据库的对象。 (2)使用第一步创建的数据库访问对象来执行transaction方法,通过此方法可以设置一个开启事务成功的事件响应方法,在... -
在SQL Server里,怎么连接到本地数据库
2020-06-22 11:04:34就一点需要注意的:服务器名称是(local)而不是local -
如何在Docker容器中访问本地数据库或从Docker容器内部连接到计算机的本地主机
2020-12-29 23:20:50场景为当应用某个应用使用本地Docker容器部署,但是还需要访问本地服务时(如数据库),使用宿主机IP,127.0.0.1,localhost均无法访问,后2者好理解,都属于Docker容器的回环地址,前者:相当于Docker本身,对于... -
Navicat Premium从远程Mysql数据库复制到本地数据库
2022-01-28 09:48:41【第一步】连接上远程和本地库 【第二步】打开工具----》数据传输【第三步】选择远程和本地【第四步】点要复制的表,下一步。往后都是下一步,开始就ok -
Android studio如何查看本地数据库
2020-12-23 10:33:47android开发有时候涉及到本地存储的时候,需要用到数据库,当开发者需要查看本地数据库的内容时,就会发现非常麻烦。以前我觉得google在这一方面是完全没有倾听开发者的呼声呀!这是有多麻烦就有多麻烦,需要看有多... -
本地数据库连接另一台电脑的数据库
2021-09-21 21:22:53产生此错误的原因:要先配置本地数据库为允许远程连接。 右击打开本地数据库的属性,找到连接,点击允许远程连接到此服务器, 配置完允许远程连接到此服务器之后,打开SQL配置管理器 找到SQL Sever网络配置...